Javascript Ruby toplevel==JS全局对象?

Javascript Ruby toplevel==JS全局对象?,javascript,ruby,Javascript,Ruby,从JS开始讲Ruby,我想如果我比较和对比这两者,会很容易学会。当我偶然接触到Ruby时,我不禁想到它与JavaScript中的全局对象(窗口对象)类似 我的假设正确吗?不,你错了 Ruby顶层只是一个对象。每个顶级层次结构都以对象结束。换句话说,每件事物都被视为一个对象 您将顶层对象与所有实例中共享的对象混淆 在Javascript中,窗口对象是最上面的对象,可以在同一页面的多个调用中共享(您可以称之为静态对象)。这就是为什么我们称它为全局对象 正确的说法是,在Javascript和Ruby中

从JS开始讲Ruby,我想如果我比较和对比这两者,会很容易学会。当我偶然接触到Ruby时,我不禁想到它与JavaScript中的全局对象(窗口对象)类似


我的假设正确吗?不,你错了

Ruby顶层只是一个对象。每个顶级层次结构都以对象结束。换句话说,每件事物都被视为一个对象

您将顶层对象与所有实例中共享的对象混淆

在Javascript中,窗口对象是最上面的对象,可以在同一页面的多个调用中共享(您可以称之为静态对象)。这就是为什么我们称它为全局对象


正确的说法是,在Javascript和Ruby中,顶层都是一个对象(Window在Javascript中仍然是一个对象)

不,你错了

Ruby顶层只是一个对象。每个顶级层次结构都以对象结束。换句话说,每件事物都被视为一个对象

您将顶层对象与所有实例中共享的对象混淆

在Javascript中,窗口对象是最上面的对象,可以在同一页面的多个调用中共享(您可以称之为静态对象)。这就是为什么我们称它为全局对象


正确的说法是,在Javascript和Ruby中,顶层都是一个对象(Window在Javascript中仍然是一个对象)

除了两个对象在任何其他对象的上下文之外充当
这个
/
自我
之外,它在任何意义上都不相似。在任何其他方面,它们都是完全不同的。没有一种通常有用的方法可以像使用
窗口
那样,在顶层之外引用
main
。全局变量是真正的全局变量,在
main
上下文中定义的常量或方法实际上不是在
main
上定义的,而是在Object类上定义的。

除了两个对象在任何其他对象的上下文之外充当
this
/
self
之外,没有任何有意义的相似之处。在任何其他方面,它们都是完全不同的。没有一种通常有用的方法可以像使用
窗口
那样,在顶层之外引用
main
。全局变量是真正的全局变量,在
main
上下文中定义的常量或方法实际上没有在
main
上定义,但是在对象类上。

您可以通过访问
TOPLEVEL\u绑定
常量来引用ruby中顶级的
binging
。您可以通过访问
TOPLEVEL\u绑定
常量来引用ruby中顶级的
binging