Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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_Dom - Fatal编程技术网

Javascript:';窗口';没有定义

Javascript:';窗口';没有定义,javascript,dom,Javascript,Dom,我正在尝试学习JavaScript,但以下代码给我带来了很多麻烦: window.onload = function () { for ( var i = 0; i < seats.length; i++) { for ( var j = 0; j < seats.length; j++) { document.getElementById(getSeatId(i, j)).onclick = function(evt) {

我正在尝试学习JavaScript,但以下代码给我带来了很多麻烦:

window.onload = function () {
    for ( var i = 0; i < seats.length; i++) {
        for ( var j = 0; j < seats.length; j++) {
            document.getElementById(getSeatId(i, j)).onclick = function(evt) {
                getSeatStatus(getSeatId(i, j));
            };
        }
    }
    document.getElementById("search").onclick = findSeat;
    document.getElementById("male_search").onclick = findMaleSeats;
    initSeats();
};
我已经尝试将代码移动到文件中的其他位置,为
window.onload
和许多其他内容分配不同的函数(甚至是空函数)。我的电脑似乎不知道什么是
window
。如果我尝试在浏览器中打开HTML,则不会加载任何内容(正如人们所期望的那样)


有人知道这有什么问题吗?

窗口对象表示浏览器中打开的窗口。由于您不是在浏览器中运行代码,而是通过Windows脚本主机运行代码,因此解释器将无法找到窗口对象,因为它不存在,因为您不在web浏览器中

它来自外部js文件,是链接到页面的唯一文件

当我双击这个文件时,我得到了以下错误

听起来您正在双击/运行一个.js文件,该文件将尝试在浏览器之外运行脚本,就像命令行脚本一样。这就解释了这个错误:

Windows脚本主机错误:未定义“窗口”代码:800A1391

。。。这不是在浏览器中看到的错误。当然,浏览器提供了
窗口
对象


附录:作为一种做法,我建议打开相关的HTML文件并浏览一下控制台。如果在那里看不到任何内容,很可能是您的
窗口。在浏览器触发
窗口后,onload
定义只是被点击。onload
事件。

尝试访问未定义的变量将抛出
引用错误

解决方法是使用
typeof

if(窗口类型==“未定义”){
log(“Oops,`window`未定义”)
}
或者试一试:

try { window } catch (err) {
  console.log("Oops, `window` is not defined")
}

虽然
typeof window
可能是这两个窗口中最干净的一个,但try-catch在某些情况下仍然很有用。

不相关,但是为什么要使用IE学习JavaScript呢?这是你所能拥有的最差的JS环境,与其他浏览器相比,他们的开发工具是差强人意的。你在浏览器中运行这个脚本,对吗?从错误消息的外观来看,您的JavaScript几乎听起来像是被解释为VBScript。显然不是“我的计算机似乎不知道窗口是什么。如果我尝试在浏览器中打开HTML…”哇,JavaScript的你们总是这么快吗?无论如何,非常感谢你的帮助,这才是真正的问题所在。我甚至有点不好意思问这么愚蠢的问题(现在我看到答案了)。顺便说一句,我没有使用IE。好吧,我们了解它的作用,但是如何着手解决这个问题?这个答案与最初的问题有什么关系?较旧的答案(如)已经回答了原始海报提出的问题。