zoukankan      html  css  js  c++  java
  • 【JavaScript】js 中一些需要注意的问题

    1. 关于js中逻辑运算符
    2. sort()方法

    1. 关于js中逻辑运算符:|| 和 &&

    • 在js逻辑运算中,0、""、null、false、undefined、NaN都会判为false,其他都为true
    • 对两个非,即!!,其作用是可以把一个其他类型的变量转换为boolean类型值,比如 typeof 5输出“number”,而typeof (!!5)输出“boolean”
    • 短路原则:如&&中第一个表达式为假就不会去处理第二个表达式,而||正好相反。 
    • a&& b :如果执行a后返回true,则执行b并返回b的值;如果执行a后返回false,则整个表达式返回a的值,b不执行;
      a || b :如果执行a后返回true,则整个表达式返回a的值,b不执行;如果执行a后返回false,则执行b并返回b的值;
    • && 优先级高于 ||;
    • 举例: 
      var a = "" || null || 3 || 4;    //3    
      var b = 4 && 5 && null && "0";    //null
    • 一些妙用
      • var attr = attr || “”;  这个运算经常用来判断一个变量是否已定义,如果没有定义就给他一个初始值,这在给函数的参数定义一个默认值的时候比较有用
        注意:如果实参需要是0、""、null、false、undefined、NaN的时候也会当false来处理。 
      • a >= 5 && alert("你好");  可以表示:if(a>=5){ alert("你好");}

     参考:js 与或运算符 || && 妙用   js中的|| 与 &&

      

     2. sort()方法:

    • sort()方法用于对数组的元素进行排序。
    • arrayObject.sort(sortby);    //参数sortby可选。规定排序顺序。必须是函数。

      返回对数组的引用,数组在原数组上进行排序,不生成副本

    • 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

    • 如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

      • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
      • 若 a 等于 b,则返回 0。
      • 若 a 大于 b,则返回一个大于 0 的值。

    3. null和object的关系:

    [typeof null, null instanceof Object]的输出结果是

    正确答案:object, false 
    解析: 
    null为一个空的对象,这个对象存在但是里面一点东西都没有,相当于有堆空间但是里面没有属性。而undefined可以理解为连堆空间都没有(至少表现出来是这样的不是吗?) 
    null instanceof Objectfalse是因为null连属性都没有,更没有检测原型链的_proto_prototype了。

        

    更多博文: 

    Interesting JavaScript

    JavaScript编程题(含腾讯2016校招题)

  • 相关阅读:
    MyBatis collection的两种形式——MyBatis学习笔记之九
    MyBatis 一对一(OneToOne)__SELECT
    Mybatis 一对一(OneToOne)关系映射__INSERT
    mybatis association表关联与rowbounds共同使用时的异常及其解决方案
    Mybatis Laz-Load功能实现代码赏析(原创)
    mybatis sql中的条件语句
    HDFS之四:HDFS原理解析(总体架构,读写操作流程)
    Mybatis多参数查询映射
    mysql索引之六:mysql高效索引之覆盖索引
    MYSQL BENCHMARK()函数
  • 原文地址:https://www.cnblogs.com/haoyijing/p/5861670.html
Copyright © 2011-2022 走看看