JavaScript 中哪些技巧属于“奇技淫巧”,哪些属于“高级用法”

2025-05-06 07:43:06
推荐回答(1个)
回答1:

这个太多了吧,毕竟是JavaScript啊。
比如进行判断赋值可以这样:

var status = file && 'success' || 'fail';

调用匿名函数可以这样:

~function(){console.log('done')}();

还有能够有效判断变量类型的办法:

function typefor(o) {
return Object.prototype.toString.call(o)
.match(/(\w+)\]$/)[1]
.toLowerCase();
}

如果你在乎效率,还有很多能提高运行速度的方法:
Math.floor(n)可以用~~n优化(快4倍左右);
用(new Function(strCode))()比eval快50倍;
对于字符串连接,用foo.concat(bar)比foo = foo + bar或foo += bar要快5倍;
还有多用for少用while;
尽量重复使用现有的对象,少创建新对象。

还有很多,应该多从实践中积累,否则学会了也不知道怎么用。