2014-02-28 61 views
-1

變量在頂部懸掛的頂部,但外面懸掛的原型不是在代碼的頂部懸掛原型在頂部,以便第一次登錄上面的代碼會記錄'測試',而不是未定義?的代碼在功能

+0

你能否澄清一下你的問題,因爲很難理解你問的是什麼。 –

+0

日誌未定義應該記錄測試 –

+1

umm,剪切並粘貼該行myFunc.prototype.test ='testing';在函數myFunc(){}下面 – OJay

回答

0

如果真有這樣的規定,你可以做

function log(obj, attr) { 
    setTimeout(function() { 
     console.log(obj[key]); 
    }, 0); 
} 

function myFunc(){ 
    //.. 
} 
var m1 = new myFunc(); 
log(m1, 'testing'); // now logs testing 

myFunc.prototype.test = 'testing'; 
log(m1, 'testing'); // now logs testing 
0

我碰到這個問題來了(在我的情況,希望葫蘆這就是它被稱爲後定義的原型功能),這是我如何做它:

var m1 = new myFunc(); 
console.log(m1.test); // 'testing' 

///////////////////////////////// 

function myFunc() { 
    myFuncBuilder.prototype.test = 'testing'; 
    myFuncBuilder.prototype.definedLater = definedLater; 

    return new myFuncBuilder(); 
} 

function myFuncBuilder() { 
    // ... 
} 

function definedLater() { 
    // ... 
} 

雖然我同意其他人;這可能不是組織代碼的好方法。