有没有办法使用对象功能设置对象属性? 例如:
var Object={
init: function(){
this.newParam=alert("ok");// This should alert ok while called Object.newParam()
}
}
提前致谢。
答案 0 :(得分: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 :(得分: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函数 - Object.init().newParam()