mic*_*ael 4 javascript coding-style
我经常发现自己使用内联初始化(见下面的例子),特别是在我不知道哪个case循环会命中的switch语句中.我发现它比if语句更容易阅读.
但这是一种好的做法还是会产生副作用或性能受损?
for (var i in array) {
var o = o ? o : {}; // init object if it doesn't exist
o[array[i]] = 1; // add key-values
}
Run Code Online (Sandbox Code Playgroud)
是否有一个很好的网站去获取编码风格的提示?
为什么不在循环外声明它?
var o = {};
for (var i in array) {
o[array[i]] = 1;
}
Run Code Online (Sandbox Code Playgroud)
否则,我没有看到你正在做什么的问题.
另一种常用的模式是使用Logical OR ||运算符(比你的三元恕我直言更易读):
//...
var obj = o || {};
Run Code Online (Sandbox Code Playgroud)
如果第一个操作数计算到false,则此运算符将返回其第二个操作数,否则返回第一个操作数.
是安全的,当你想到一个对象,因为那些使用它falsy值null,undefined,NaN,0,零长度字符串,当然false.
我发现在函数参数上设置默认值很有用,当然,当函数预期任何假值都是有效时:
function test (arg1) {
arg1 = arg1 || "default value";
//..
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
574 次 |
| 最近记录: |