Javascript 如何向对象添加函数并引用其成员?
我有一门课:Javascript 如何向对象添加函数并引用其成员?,javascript,Javascript,我有一门课: var MyClass = function(property, function){ var me = this; me.property = property; me.function = function; }; 在另一个地方,我想添加一个引用class属性的函数,如下所示: var myClass = new MyClass({ property: 5, function: function(){ // do so
var MyClass = function(property, function){
var me = this;
me.property = property;
me.function = function;
};
在另一个地方,我想添加一个引用class属性的函数,如下所示:
var myClass = new MyClass({
property: 5,
function: function(){
// do something with this.property
}
});
this
关键字不引用对象。有没有一种方法可以设置它,以便访问通过传入匿名函数设置的属性?您应该将两个参数作为两个变量传递,而不是作为对象传递,因为您的类不需要对象
var myClass = new MyClass('some_property', function(){
alert(this.property);
});
另外,不要使用函数
关键字作为参数,代码如下所示
var MyClass = function(prop, func){
var me = this;
me.prop = prop;
me.func = func;
};
var myClass = new MyClass('some_property', function(){
alert(this.prop);
});
myClass.func();
这里有几个问题 首先,
function
在JavaScript中是一个保留字,因此不能用作变量名。保留字:
其次,传递的是一个对象文本,而不是两个预期参数。因此,对于myClass var语句:
var myClass = new MyClass(5, function() { // do something with this.property });
我还建议不要使用
property
作为变量名,因为它也有点混乱。函数是一个保留关键字。