【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校招题)

优质内容筛选与推荐>>
1、docker 基础容器命令
2、UVA11375【火柴拼数Matches】-------2015年1月27日
3、华为P7电信4G版刷机包 EMUI2.3 官方B125 第3版 精简 ROOT
4、div css 练习1
5、今天看了《SOFT SKILLS The Software Developer's Life Manual》有感


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号