对象实例的__proto__
属性指向该实例的构造函数的prototype
对应的对象。
[].__proto__ === Array.prototype; // true
把类数组转换成数组
Array.isArray([].slice.call(arguments)); // true
当索引源被重新赋值时...
var a = {'a':'a'}; var b = a; a = {}; console.log(b); // {'a':'a'}
在replace
中使用$&
插入匹配到的字符串。
'hi'.replace(/[hi]/g, '($&)');; // '(h)(i)'
数组中包含undefined
值时,join
操作后将转成空字符串。PS:null
值同理。
['a', undefined, 'b'].join(',') === 'a,,b'; // true
当charAt
的参数指向字符串以外,charAt
的返回值是空字符串。而[]
方式取值,得到的是undefined
。
'0'.charAt(1) === ''; // true
'0'[1] === undefined; // true
可读性更强的打印JSON字符串的方法
console.log(JSON.stringify({nickName:'fushan', realName:'gnosaij'}, null, 2));
眼见不一定为实,下面这些俄文字母,有些"坏人"会用它玩人,要小心!当然也可以用它"误导"别人。
console.log('а' === 'a'); // false
console.log('о' === 'o'); // false
console.log('р' === 'p'); // false
console.log('х' === 'x'); // false
console.log('с' === 'c'); // false
console.log('у' === 'y'); // false
查看页面的最后构建(build
)时间
document.lastModified
用ES6(ES2015)
对换两个变量的值如此简单
[v1, v2] = [v2, v1];
还在用'abc'.indexOf('a') > -1
吗?OUT!
~'abc'.indexOf('a') && console.log('yes')
还在用new Date().getTime()
吗?LOW!
console.log(+new Date(), Date.now());
告诉IE使用最新的引擎渲染网页,chrome=1
则可以激活Chrome Frame
.
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">