簡體   English   中英

'這個'在手機上

[英]'This' in phonegap

什么是電話空白中的“這個”? 我正在開發一個應用程序,其中我有本地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其他地方一樣,那么this一定是documentfile2.js.coffee執行。 如果您的代碼是通過$(document).ready()或類似的方式(例如: http//jsfiddle.net/ambiguous/6DFK9/ )執行的,那么就會發生這種情況。

如果你想要一些全局的東西,那么你真的應該明確它並使用window

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

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

這樣你就不必擔心調用上下文了,更重要的是,你的意圖將是明確的,當你試圖修復bug時,你不必在六個月內想到this或者應該是什么。 說出你的意思:如果你想要它是全局的,把它放在window

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM