我想做的例子:
let var1 = window;
if(var1 == window){
//do something
}
它会运作良好吗?
不问这个:
let a = {c: 'a'};
let b = {c: 'a'};
if(a == b){
// do something
}
响应页面中有一个列表。加载页面时,如果页面宽度小于768px,则函数将获取窗口对象以检测滚动位置,如下所示:
if((window.innerWidth || document.documentElement.clientWidth || document.documentElement.clientWidth) < 768){
flowObj.scrollElement = window;
}else{
flowObj.scrollElement = document.querySelector('.flow-list').parentNode;
}
// If width lower than 768px list-container CSS change to height: auto; scroll: none; so list scroll on body
需要使用以下方法更改滚动位置:
if(flowObj.scrollElement == window){
flowObj.scrollElement.scrollTo(0, value);
}else {
flowObj.scrollElement.scrollTop = value;
}
需要知道它运作良好吗?
答案 0 :(得分:2)
let var1 = window;
Var1是指向窗口对象的引用。也就是说,您只有窗口对象本身的“键”。只要不更改var1的值,与window的浅表比较将始终返回true
另一方面,如果您尝试对窗口对象进行深层复制,则由于窗口对象会随时间变化而变得棘手,但是通过深度克隆创建的对象不会变。