标签:init trie style 情况 数据 integer 合并 arguments esc
一. 字符串的扩展
二. 数值的扩展
三. 数组的扩展
四. 函数的扩展
length
属性,将返回没有指定默认值的参数个数;length
属性也不再计入后面的参数了;/* 替代数组的apply方法 */ // ES5的写法 function f(x, y, z) { // ... } var args = [0, 1, 2]; f.apply(null, args); // ES6的写法 function f(x, y, z) { // ... } var args = [0, 1, 2]; f(...args); /* --------------------------------- */ // ES5的写法 Math.max.apply(null, [14, 3, 77]) // ES6的写法 Math.max(...[14, 3, 77]) // 等同于 Math.max(14, 3, 77); /* --------------------------------- */ // ES5的写法 var arr1 = [0, 1, 2]; var arr2 = [3, 4, 5]; Array.prototype.push.apply(arr1, arr2); // ES6的写法 var arr1 = [0, 1, 2]; var arr2 = [3, 4, 5]; arr1.push(...arr2);
箭头函数使用注意:
(1)函数体内的this
对象,就是定义时所在的对象,而不是使用时所在的对象。
(2)不可以当作构造函数,也就是说,不可以使用new
命令,否则会抛出一个错误。
(3)不可以使用arguments
对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。
(4)不可以使用yield
命令,因此箭头函数不能用作 Generator 函数。
五. 对象的扩展
name
属性返回函数名(即方法名)+0
不等于-0
,二是NaN
等于自身// es5实现Object.is Object.defineProperty(Object, ‘is‘, { value: function(x, y) { if (x === y) { // 针对+0 不等于 -0的情况 return x !== 0 || 1 / x === 1 / y; } // 针对NaN的情况 return x !== x && y !== y; }, configurable: true, enumerable: false, writable: true });
标签:init trie style 情况 数据 integer 合并 arguments esc
原文地址:http://www.cnblogs.com/colima/p/6935035.html