簡體   English   中英

鈦工作室內的javascript:對象中的'新'

[英]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.

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