2015-11-04 67 views
0

我尝试从我的测试JavaScript对象时遇到咖啡脚本问题。我有2个文件:一个JavaScript和一个咖啡脚本,按照这个顺序加载。从咖啡脚本测试javascript对象存在

我需要的是在JavaScript文件中定义的对象:

var my_js_obj = { 
    string1: "blablabla", 
    string2: "blobloblo", 
    string3: "blublublu", 
}; 

然后我试图从我的咖啡脚本文件中得到这个对象:

if not my_js_obj? 
    my_js_obj = {} 
    console.log "obj does not exist" 
else 
    console.log "obj exists" 

console.log my_js_obj 

在我的控制台,我总是得到一个空的对象:

obj does not exist 
Object {} 

我不知道是否有影响,但我使用Ruby on Rails 4.

回答

1

my_js_obj没有在全球范围内定义。它在JavaScript文件中被定义为局部变量。您无法从其他文件访问它。

如果您将其定义为全局变量,那么您可以访问它。

+0

谢谢你的回答。我认为var之外的任何函数或块的声明都是全局定义。现在,它在我的JavaScript文件和咖啡脚本文件中都使用window.my_js_obj。 –