• js的双等号类型转换


    var undefined;
    undefined == null; // true
    1 == true; // true
    2 == true; // false
    0 == false; // true
    0 == ' '; // true
    NaN == NaN; // false
    [] == false; // true
    [] == ![]; // true

    // alert(!![]) //true
    // alert(![]) //false
    // alert([] == 0) //true
    // alert(false == 0) //true

    分析:undefined与null相等 但不全等(===)
    当为number与string时,会将string转换为number;
    number和boolean时,会将boolean转换为number
    number或string与Object,会将Object转换成number或string

    (附:js中的数据类型转换?)
    函数转换:parseInt()、parseFloat()、toString()
    强类型转换:Boolean()、Number()、String()
    弱类型转换:“==”、“-”、“+”、if()

    (拓展:for循环中的效率问题?)
    1.for(var i=0;i<arr.length;i++)

    2.for(var i in arr)

    3.for(var i=0,len=arr.length;i<len;i++)

    第三种效率更高!
    在大数据下:
    第三种方式比第一种执行速度快3~4倍;
    至于第三种比第三种快100多倍开外(详细数据:http://www.111cn.net/wy/js-ajax/39368.htm)

    谢谢朋友们~~!

  • 相关阅读:
    verilog中timescale
    [shell] if语句用法
    makefile编写
    linux下压缩解压缩命令
    python获取文件所在目录
    gvim 技巧
    vcs编译verilog/sysverilog并执行
    verilog中signed的使用
    [leetcode]_String to Integer (atoi)
    [leetcode]_Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/u-lhy/p/7011276.html
Copyright © 2020-2023  润新知