美文网首页
JavaScript 语言学习

JavaScript 语言学习

作者: Ailily | 来源:发表于2016-12-16 14:23 被阅读10次

    以下摘自《JavaScript语言精粹》

    • length属性的值是其数组的最大整数属性名加上1,但它不一定等于数组里的属性的个数
    var myArray = [];
    myArray.length            // 0
    
    myArray[1000000] = true;
    myArray.length            // 1000001
    // myArray只包含一个属性
    
    var myArray = ['num',false,true]
    myArray.length //3
    myArray[100000] = true;
    myArray.length  //1000003
    
    • 判断对象是否为数组的好方法:
    var is_array = function (value){
        return Object.prototype.toString.apply(value) === '[object Array]'
    }
    
    • Array的sort方法不能对一组数字进行正确排序
    var n = [3, 4, 23, 45, 122, 9, 8];
    n.sort(); // n = [122, 23, 3, 4, 45, 8, 9]
    

    JavaScript的默认比较函数把要被排序的元素都视为字符串,所以得到了一个错的离谱的结果,解决方法如下:

    n.sort(function(a, b){
        return a-b;
    })
    
    • 摩尔定律并不适用于电池

    • NaN是IEEE 754中定义的一个特殊的数量值,它表示的是不是一个数字,但是下面表达式返回的是true:
      typeof NaN === 'number' //true
      所以判断是否为数字的最佳方法是:

    var isNumber = function(value){
        retur typeof value === 'number' && isFinite(value);
    }
    
    • 一门语言最糟糕的特性不是那些一看就知道很危险或者没有价值的特性,那些特性很容易被避免。最糟糕的特性就像带刺的玫瑰,它们是有用的,但也是危险的。

    • 用圆括号把JSON文本括起来是一种避免JavaScript语法歧义的变通方案。

    var myData = eval(‘(’+ myJSONText +’)’)
    

    以下摘自《了不起的node.js》

    相关文章

      网友评论

          本文标题:JavaScript 语言学习

          本文链接:https://www.haomeiwen.com/subject/ahmnmttx.html