JavaScript 语言学习

以下摘自《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 拥有动态类型。这意味着相同的变量可用作不同的类型: 声明 var x=2;var...
    superKelly阅读 220评论 0 0
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • 突然想起在大学里发生的一件事,那天,我们约好了要出去玩儿,我准时来到他宿舍楼下的食堂,他没有到,我发短信给他,...
    横折阅读 295评论 0 1
  • 在客户面前,作为销售的你会有许多种角色,这无关你是传统式销售还是顾问式销售,在你面前的客户对销售人员都会有一种初始...
    雨中风筝阅读 1,602评论 2 3