无论出于何种原因产生numberOne
为Num
的Javascript类型错误:对象没有方法
function Num(n) {
var number = n;
var getNumber = function() {
return number;
};
}
var numberOne = new Num(5);
console.log(numberOne.getNumber());
无论出于何种原因产生numberOne
为Num
的Javascript类型错误:对象没有方法
function Num(n) {
var number = n;
var getNumber = function() {
return number;
};
}
var numberOne = new Num(5);
console.log(numberOne.getNumber());
您正在创建一个名为getNumber
的本地变量,而不将其附加到该对象。要么给它的对象,或把它的原型:
this.getNumber = function() {
或
function Num(n) {
this.number = n;
}
Num.prototype.getNumber = function() {
return this.number;
}
如果您正在创建大量的对象,你可能想要把getNumber
在原型所以它不”每次创建时都会添加到对象中。
你声明getNumber
作为函数内的局部变量的情况下,当我得到TypeError: Object #<Num> has no method 'getNumber'
。那些不成为构造对象的属性。
使用this
:
this.getNumber = function() { ...
在构造函数中,this
指新创建的对象进行初始化。
您也可以使用原型机制来提供对象属性。