Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
4年前关闭。
当我们为变量赋值时,最佳实践是使用||。运算符还是?操作员?
例:
要么
三元
什么是最好的方法?
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
4年前关闭。
当我们为变量赋值时,最佳实践是使用||。运算符还是?操作员?
例:
要么
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);
10-04 16:34