微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 手机屏幕中的’这个’

什么是电话空白中的“这个”?我正在开发一个应用程序,其中我有本地javascript与应用程序和从服务器拉出的远程javascript.我正在使用coffeescript生成所有的javascript.

这两个文件都包含在应用程序的索引标题中,通过haml生成

%script{:src=>"javascripts/file1.js"}
%script{:src=>"http://192.168.5.205:3000/assets/file2.js"}

file1.js.coffee:

@myObj1 = property: true

file2.js.coffee:

@myObj2 = property: true

myObj1全局可用,可以仅作为myObj1引用,但myObj2仅可通过document.myObj2获取,不能仅作为myObj2引用.怎么了?

解决方法:

好吧,如果你这样说:

@myObj2 = property: true

你必须在其他地方引用myObj2作为document.myObj2,然后在执行file2.js.coffee时必须是文档.如果您的代码是通过$(document).ready()或类似方法(例如:http://jsfiddle.net/ambiguous/6DFK9/)执行的,则会发生这种情况.

如果你想要一些全局的东西,那么你真的应该明确它并使用窗口:

# in file1.js.coffee:
window.myObj1 = property: true

# in file2.js.coffee:
window.myObj2 = property: true

这样你就不必担心调用上下文了,更重要的是,你的意图将是明确的,当你试图修复bug时,你不必在六个月内想到这个或者应该是什么.说出你的意思:如果你想要它是全局的,把它放在窗口中.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐