当我们为变量赋值时,最佳实践是使用||运算符或 ?运算符?
示例:
或者
var x = window.scrollX || window.pageXOffset;
三元
var x = "scrollX" in window ? window.scrollX : window.pageXOffset;
最好的方法是什么?
最佳答案
两者并不等同。
在第一个版本中,您检查scrollX值是否为"is"。也就是说,如果其未定义、false、null、0 等等。
在第二个版本中,您检查窗口对象是否具有 scrollX
属性。
例如:
如果您使用第一个并且 scrollX
值为 0
,它将使用 pageXOffset
属性值,而在版本二中,它将使用scrollX
值。
在控制台中尝试一下:
var a = { x: 0, y: 1 };
var or = a.x || a.y;
var tern = 'x' in a ? a.x : a.y;
console.log('or: ' + or);
console.log('tern: ' + tern);
关于javascript - 最佳实践 "OR"和 "Ternary"运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32376464/