Javascript 是否可以检查变量是否等于窗口对象?
我想做的是举个例子:Javascript 是否可以检查变量是否等于窗口对象?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想做的是举个例子: 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.documen
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
需要知道它工作正常吗?让var1=window代码> Var1是指向窗口对象的引用。也就是说,您只有窗口对象本身的“键”。只要您不更改var1的值,与window的浅层比较将始终返回true
另一方面,如果您尝试创建窗口对象的深度副本,它将变得棘手,因为窗口对象会随着时间的推移而改变,但通过深度克隆创建的对象不会改变代码> Var1是指向窗口对象的引用。也就是说,您只有窗口对象本身的“键”。只要您不更改var1的值,与window的浅层比较将始终返回true
另一方面,如果您尝试对窗口对象进行深度复制,这将变得很棘手,因为窗口对象会随着时间的推移而改变,但通过深度克隆创建的对象不会改变。为什么不试试呢?在任何情况下,JS都会进行引用比较,例如,如果两个引用“指向”同一个对象。您再次问了这个问题,并说明了这次我看到的原因。我们在JS中创建的任何对象都位于
窗口下。像一个全局变量var a代码>也是窗口。a
。你想做的是通过CSS移动courser窗口宽度。代码实际上工作得很好,但我很好奇这个技术是对是错。你应该尝试用CSS媒体查询替换这个逻辑为什么不试试呢?在任何情况下,JS都会进行引用比较,例如,如果两个引用“指向”同一个对象。您再次问了这个问题,并说明了这次我看到的原因。我们在JS中创建的任何对象都位于窗口下。像一个全局变量var a代码>也是窗口。a
。你想做的是通过CSS将courser移动到窗口宽度。代码实际上工作得很好,但我很好奇这个技术是对的还是错的。你应该尝试用CSS媒体查询替换这个逻辑
if(flowObj.scrollElement == window){
flowObj.scrollElement.scrollTo(0, value);
}else {
flowObj.scrollElement.scrollTop = value;
}