[英]javascript inside titanium studio: 'new' in objects
我在非瀏覽器環境(Titanium Studio)中有以下代碼,我注意到result1和result2都工作,返回相同的結果,並且是相同的類型(對象)。
你能解釋一下它們是否有所不同以及它們有何不同?
在我的案例中,在name1中沒有對本地上下文的引用(那里沒有'this',只是局部變量)而且我試圖弄清楚當我有一個或者沒有'new'時我是否應該編寫所有代碼情況如下。
var name1 = function(some_arg){
// some stuff
return result; // returns an object
}
var result1 = name1('some_value');
var result2 = new name1('some_value');
typeof(result1); // returns object
typeof(result2); // returns object
謝謝!
編輯如下:原始問題已得到解答,我現在正在尋找有關相關事項的澄清。
與以下評論相關的代碼:
function Name1 (name){
this.name = name;
}
var version1 = new Name1('joey');
version1.name;
var Name2 = function(name){
this.name = name
}
var version2 = new Name2('joey');
version2.name;
謝謝!
this
是使用時綁定到一個新的對象new
,同時它不使用時被綁定到全局對象new
。 如果不使用this
在構造函數或添加到您的對象的任何方法,它確實並不重要-但是,你無論如何都應該使用它,或者你有一個問題,如果你曾經不使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.