Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以检查变量是否等于窗口对象?_Javascript_Jquery_Html_Css - Fatal编程技术网

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;
}