zoukankan      html  css  js  c++  java
  • JavaScript中的"奇奇怪怪"

    filter等方法的隐式转化
    var list = [1,,2,,0,5,9];
    console.log(list[1]); // console: undefined
    console.log(list[1] !== null); // console.log: true

    list = list.filter(item => item !== null);
    // console: [1, 2, 0, 5, 9]
    通过prototype骗过引擎
    var proto = {};
    var obj = Object.create(proto);

    function fn() {};
    fn.prototype = proto;

    console.log(obj instanceof fn);
    // console: true
    浮点数计算问题
    0.1 + 0.2 === 0.3     // false
    0.1 + 0.05 === 0.15;  // false
    0.1 + 0.1 === 0.2;    // true
    0.1 + 0.3 === 0.4;    // true
    0.2 + 0.2 === 0.4;    // true
    0.05 + 0.25 === 0.3;  // true
    0.15 + 0.15 === 0.3;  // true
    任何操作数与NaN进行关系比较, 结果都为false
    "a" <  3// false
    "a" >= 3// false
    操作未声明变量
    var message; // 变量声明之后取得了默认值
    // var age;

    console.log(message); // console: undefined
    console.log(age);
    // Uncaught ReferenceError: age is not defined

    // 不报错
    console.log(typeof message); // console: undefined
    console.log(typeof age);     // console: undefined

    console.log(window.message); // console: undefined
    console.log(window.age);     // console: undefined
    console.log打印
    var arr = [12];
    console.log(arr); // console 显示[1, 2], 展开后实际没有内容, 长度为0(由于下面for循环的操作)

    for(var i=0, len = arr.length; i < len; i++) {
        arr.shift();
    }
    自执行函数
    +function() {}()
    !function() {}()
    -function() {}()
    (+function(){}())
    new function(){} // 这种写法可以省去最后的一对括号

    // 特殊
    !function() {return false}()
    判断-0
    num === -0 // 无法判断是否是-0;因为 0 === -0 也成立

    // ES2015 Object.is(value1, value2) 比较两个值是否相同
    Object.is(-00);     // false
    Object.is(NaNNaN);  // true
  • 相关阅读:
    内置系统账户:Local system/Network service/Local Service 区别
    Asp.net生成工作流、审批流的解决方案(asp.net workflow svg)
    互联网创业盈利模式指南
    Web.config:OracleClient链接配置
    软件需求设计评审的八项要点需注意
    sscanf函数
    hdu1016Prime Ring Problem(经典DFS)
    hdu 1789 Doing Homework again (贪心)
    hdu1398 Square Coins(母函数、完全背包)
    C语言数字转化为字符串的库函数(转载)
  • 原文地址:https://www.cnblogs.com/rencoo/p/10835885.html
Copyright © 2011-2022 走看看