在 JavaScript 中执行以下操作的最惯用方法是什么:
If myParam
没有传递到MyFunc
由调用者调用,然后我想将其设置为默认值。但首先我想尝试从另一个对象获取它,该对象可能尚不存在:
function MyFunc(myParam) {
if (!myParam) {
if (!myObj) {
myParam = 10;
}
else {
myParam = myObj.myParam;
}
}
alert(myParam);
}
我开始写:
myParam = myParam || myObj.mParam || 10
但意识到如果myObj
不存在那么这将失败。我可能会猜测以下内容:
myParam = myParam || (myObj && myObj.mParam) || 10
它甚至可能有效。但这是最好的方法吗?
例如,约翰·雷西格 (John Resig) 将如何做到这一点?
如果 myObj 是全局的,则需要引用 window 对象,否则会抛出错误myObj
未定义。
myParam = myParam || (window.myObj ? window.myObj.mParam : 10);
or
myParam = myParam || (window.myObj && window.myObj.mParam) || 10;
这也有效:
myParam = myParam || ((typeof myObj !== "undefined") ? myObj.mParam : 10);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)