Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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
self在javascript中不是一个保留字——那么在我的脚本中如何定义它呢?_Javascript - Fatal编程技术网

self在javascript中不是一个保留字——那么在我的脚本中如何定义它呢?

self在javascript中不是一个保留字——那么在我的脚本中如何定义它呢?,javascript,Javascript,我掌握了基本javascript语法的窍门,并且正在努力深入理解该语言。我正在查看elizabot.js库中elizabot.js文件中的这行代码: var global=ElizaBot.prototype.global=self; 我认为这是将Elizabot对象的原型的全局属性设置为“self”。我是否正确理解该行的含义 Self在javascript中似乎不是一个很好的例子。但是如果我在Elizabot.js文件中搜索单词“self”,我就找不到了。javascript中self这个词

我掌握了基本javascript语法的窍门,并且正在努力深入理解该语言。我正在查看elizabot.js库中
elizabot.js
文件中的这行代码:

var global=ElizaBot.prototype.global=self;
  • 我认为这是将Elizabot对象的原型的全局属性设置为“self”。我是否正确理解该行的含义
  • Self在javascript中似乎不是一个很好的例子。但是如果我在Elizabot.js文件中搜索单词“self”,我就找不到了。javascript中self这个词有什么特殊含义吗?我找不到申报单
  • 在浏览器中(非通用javascript),
    self
    窗口
    对象的属性,该对象包含当前
    窗口
    的值。由于
    窗口
    对象的所有属性都可以作为全局变量访问,因此您可以只引用
    self
    ,它将包含对当前文档窗口的引用

    因此,在您的代码中:

    var global=ElizaBot.prototype.global=self;
    
    正在将对当前
    窗口
    对象的引用分配给
    ElizaBot.prototype.global
    和变量
    global

    有关
    window.self
    的信息,请参阅,该窗口也可以通过
    self
    访问


    仅供参考,所有这些分配似乎都是多余的,因为当前窗口对象通常可以通过其他方式访问,不需要单独存储。

    在浏览器(非通用javascript)中,
    self
    窗口
    对象的属性,其中包含当前
    窗口
    的值。由于
    窗口
    对象的所有属性都可以作为全局变量访问,因此您可以只引用
    self
    ,它将包含对当前文档窗口的引用

    因此,在您的代码中:

    var global=ElizaBot.prototype.global=self;
    
    正在将对当前
    窗口
    对象的引用分配给
    ElizaBot.prototype.global
    和变量
    global

    有关
    window.self
    的信息,请参阅,该窗口也可以通过
    self
    访问



    仅供参考,所有这些分配似乎都是多余的,因为当前窗口对象通常可以通过其他方式访问,不需要单独存储。

    在浏览器中,
    self
    指的是全局
    窗口
    对象

    ElizaBot是一个函数,它为ElizaBot创建的所有实例(通过prototype)将其全局属性设置为window对象


    在浏览器中,
    self
    指的是全局
    窗口
    对象

    ElizaBot是一个函数,它为ElizaBot创建的所有实例(通过prototype)将其全局属性设置为window对象


    看看这个,我刚刚打开控制台,键入“self”,它返回了窗口。我使用的是Chrome,所以我不确定这是否是标准的,但是是的!显然它是被定义的。
    self
    指的是
    window.self
    :。下面是关于
    window
    的文档:当window不在node.js、webwrokers等中时,self通常是唯一的全局句柄。@dandavis
    self
    在nodejs中未定义。nodejs使用
    global
    作为全局名称空间对象检查这个我刚刚打开控制台并键入“self”,它返回了窗口。我使用的是Chrome,所以我不确定这是否是标准的,但是是的!显然它是被定义的。
    self
    指的是
    window.self
    :。下面是关于
    window
    的文档:当window不在node.js、webwrokers等中时,self通常是唯一的全局句柄。@dandavis
    self
    在nodejs中未定义。nodejs对全局名称空间对象使用
    global
    ,显然,让我惊讶的是,你是对的(至少在Chromium 28/Ubuntu12.10中是这样)。@cbayram并且它还将var global的值设置为eliza函数的全局属性,对吗?在这一行代码中有两个赋值。@abe3 yes
    var global
    也被设置为self/window/ElizaBot.prototype.global对象,所有这些都是对同一个对象的引用。显然,让我惊讶的是,你是对的(至少在Chromium 28/Ubuntu12.10中)@cbayram,它还将var global的值设置为eliza函数的全局属性,对吗?在这一行代码中有两个赋值。@abe3 yes
    var global
    也被设置为self/window/ElizaBot.prototype.global对象,所有这些都是对同一对象的引用。同意,不理解对带有引用的完整答案的否决票。赞成票。同意,我不理解反对票,因为它会给出一个完整的答案。向上投票。