/suchas

用一行代码说明javascript的一个基础知识点

用一行代码说明JS的一个基础知识点或小技巧

对象实例的__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">