我有类似
的东西var foo = function(arg){
var something = {
myPropVal: "the code",
myMethodProp: function(bla) {
// do stuff with mypropval here
alert(this) // => DOMWindow
}
}
}
这可能吗?我可以在给定的myMethodProp中访问myPropVal的内容
答案 0 :(得分:4)
确定你可以
var foo = function(arg){
var something = {
myPropVal: "the code",
myMethodProp: function(bla) {
// do stuff with mypropval here
alert(this) // => DOMWindow
alert(this.myPropVal);
}
}
alert(something.myMethodProp());
}
foo();
答案 1 :(得分:2)
您可能需要将其引用为something.myPropVal
。
答案 2 :(得分:1)
在用作对象中的属性的匿名函数的上下文中,this
指的是该对象并可用于访问其他属性。
const robin = {
firstName: 'Robin',
lastName: 'Wieruch',
getFullName: function () {
return this.firstName + ' ' + this.lastName;
},
};
console.log(robin.getFullName());
// "Robin Wieruch"
答案 3 :(得分:0)
是的,你可以,下面是一个例子。
obj = {
offset: 0,
IncreaseOffset: function (num) {
this.offset += num
},
/* Do not use the arrow function. Not working!
IncreaseOffset2: (num) => {
this.offset += num
}
*/
}
obj.IncreaseOffset(3)
console.log(obj.offset) // 3