我是javascript原型的新手。所以我想知道以下是否合法并且将始终有效:
function Obj(name) {
this.name = name;
}
Obj.prototype.getName() {
return this.name;
}
然后:
var obj1 = new Obj("one");
var obj2 = new Obj("two");
alert(obj1.getName() + " " + obj2.getName());
我会得到“一二”吗?我知道这是一个简单的例子,但像这样的东西总是引用对象实例,或者这意味着原型或事件。感谢
答案 0 :(得分:0)
// Setup Obj
function Obj() {}
Obj.prototype.me = function () {return this;}
// Make some vars
var a = new Obj(), b = new Obj();
// find out what "this" is equal to
a.me() === a; // true
a.me() === b; // false
b.me() === a; // false
b.me() === b; // true
答案 1 :(得分:0)
var Obj = function(name) {
this.name = name;
}
bj.prototype.getName = function( ) {
return this.name; // this refers to Obj
}
var obj1 = new Obj('Jeff');
var obj2 = new Obj('Joe');
console.log(obj1.getName()); // Jeff
console.log(obj2.getName()); // Joe
我不能让它工作,但这很好。这应该引用你调用方法的对象。