Javascript TypeError: Object 没有方法
Javascript TypeError: Object Has No Method
无论出于何种原因,我在创建numberOne
作为Num
实例时都会TypeError: Object #<Num> has no method 'getNumber'
function Num(n) {
var number = n;
var getNumber = function() {
return number;
};
}
var numberOne = new Num(5);
console.log(numberOne.getNumber());
您将getNumber
声明为函数内的局部变量。这些不会成为构造对象的属性。
使用this
:
this.getNumber = function() { ...
在构造函数中,this
是指要初始化的新创建的对象。
还可以使用原型机制来提供对象属性。
您正在创建一个名为 getNumber
的局部变量,而不将其附加到对象。 要么把它交给对象,要么把它放在原型上:
this.getNumber = function() {
或
function Num(n) {
this.number = n;
}
Num.prototype.getNumber = function() {
return this.number;
}
如果要创建大量对象,则可能需要getNumber
放在原型上,这样它就不会在每次创建对象时都添加到对象中。
相关文章:
- 是否有类似Object.defineProperty的方法来定义变量
- 为什么dijit.form.Select有方法setStore(),而dijit.fform.FilteringSele
- JSPM-是否有方法或需要对捆绑文件进行版本化
- 当用户试图删除indexedDB数据库时,是否有方法执行函数
- Box2dWeb中是否有方法将对象的位置.x输出到console.log()
- 是否有方法在WebCrypto API中获取RSA密钥的组件
- 是否有方法可以快速确定浏览器是否支持启用了cors的图像而不会污染浏览器?
- 是否有方法以编程方式确定私钥是用DER还是PEM编码的?
- 在反序列化JSON对象时,是否有方法将属性名称转换为小写?
- 是否有方法检查特定点(X,Y)是否在SVG元素中
- 是否有方法减少相同if语句的代码
- ES6中是否有类似object.toJSON的东西
- 方法Object.键对字符串类型的键id进行排序
- 在babel编译时是否有方法注入或忽略全局变量?
- Node.js query:是否有方法提示用户自定义大小的数组
- 在检查字符串时,是否有方法包含单词变体(过去时,动名词)
- 当元素不处于悬停状态时,是否有方法获得元素的HOVER样式?
- 是否有方法检测和更改输入值格式
- 解析JSON字符串后是否有方法获得对象属性
- 检查对象是否有方法,而不实例化它