如何在对象上下文中使用property : value
对,就好像它们是var = value
对一样?那么不使用this
关键字?
var obj = {
prop_1 : 1,
prop_2 : 2,
myMethod : function(){
this[this.prop_1] = this.prop_1;
return prop_1;
}
}
console.log( obj.myMethod() );
答案 0 :(得分:0)
您可以将函数用作类。
删除new
点数@Denis
function myClass(){
// Private variables
var prop1 = 10;
var prop2 = 20;
function getProp1(){
return prop1;
}
function getProp2(){
return prop2;
}
function setProp1(value){
prop1 = value;
}
function setProp2(value){
prop2 = value;
}
// Public property...
return {
getProp1:getProp1,
getProp2:getProp2,
setProp1:setProp1,
setProp2:setProp2,
}
}
var obj = myClass();
console.log(obj.getProp1());
obj.setProp1(100);
console.log(obj.getProp1());

答案 1 :(得分:0)
如果您想减少this
内关键字myMethod
的实例,我要为您提供的最好的方法是将this
替换为t
或类似的东西。
这只会在原始变量名称中添加两个字符。
myMethod: function() {
var t = this;
// use t instead of this
t.prop_1 = 43 - t.prop_1;
return t.prop_1;
}
这是JSFiddle