2016-12-24 157 views

回答

1

不,它不會按照您的期望被調用。它會在對象初始化的時候被調用。並且obj.newParam將具有返回值alert("ok"),即] undefined

你必須重寫代碼像下面來實現你想要什麼,

var obj = { 
init: function(){ 
    this.newParam= function() { 
    alert("ok");// This should alert ok while called Object.newParam() 
    } 
} 
} 

而且使用名稱Object您的變量是一個風險較大的一個,當你在全球範圍內。

1

嘗試類似:

var Object={ 
     init: function(){ 
      return { 
       newParam :function() { 
       alert("ok");// This should alert ok while called Object.newParam() 
      } 
     } 
     } 
} 
console.debug(Object.init().newParam()); 

注意,當的init()被調用它返回一個對象。您可以使用該對象,並調用從newParam功能 - 在https://jsfiddle.net/krwxoumL/

+0

Object.init().newParam()

小提琴,我不希望出現這種情況。我想要Object.newparam來代替Object.init()。newparam但我不想用'newparam:this.init()來手動設置它的值。newparam' –

+0

好吧,不知道我是否理解正確但看起來像是類似於http://stackoverflow.com/questions/1789892/access-parent-object-in-javascript –