以下是我的Javascript对象:
var calc = {
title : 'Calculator',
plus : function( a, b ) {
return (
console.log(this), // calc
console.log(arguments), // [ 3, 5 ]
console.log(a+b), // 8
console.log(this.title) // Calculator
)
}
};
我正试图通过以下方式访问此对象calc
的原型:
calc.prototype.getNum = function( numStr ) {
return isNaN(parseInt(numStr)) ? 'Not a valid number!' : parseInt(numStr);
};
但每当我执行它时,它都会一直给出以下错误!
TypeError:无法设置未定义的属性'getNum'
有谁能告诉我这里我做错了什么?
答案 0 :(得分:0)
prototype
是函数的属性。它不适用于对象文字。因此,您可能希望将calc
转换为函数,例如
function calc() {
this.title = 'Calculator';
}
calc.prototype.plus = function( a, b ) {
console.log(this);
console.log(arguments);
console.log(a+b);
console.log(this.title);
}
现在,您应该可以将getNum
添加到calc
的原型中。
答案 1 :(得分:-1)
使用calc.constructor.prototype