2016-12-24 101 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 –

相关问题