javascript - 原型(prototype)函数声明

标签 javascript prototype javascript-framework

我已经定义了函数:

var Test = function(){

};

Test.prototype={

   getColor: function(){
         return "red";
   },

   createCar: function(){
      var color = this.getColor(); //ERROR: this.getColor is not a function
      ...
   },

   getCar: function(){
      return new CarFactory(1, this.createCar);
   }

}

如您所见,我定义了三个 原型(prototype)函数:getColor()createCar()getCar()

createCar()函数中我调用了getColor()

在函数getCar()中,我使用this.createCar作为CarFactory构造函数的参数。我收到错误:

"this.getColor is not a function"

在上面指出的地方,为什么会出现这个错误?如何消除这个错误?

最佳答案

我认为您可能没有创建 Test 对象并正确调用它。我将您的代码片段粘贴到测试页面中,然后添加:

var obj = new Test();
console.log(obj.getColor());
// Outputs 'red'
obj.createCar();
// Does not throw an error. 

console.log(color); 替换 ... 在我的测试中显示了正确的结果“红色”。

http://jsfiddle.net/2F5zz

关于javascript - 原型(prototype)函数声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5702780/

相关文章:

javascript - 将 Apple 应用内购买添加到 Electron HTML/JS 应用

javascript - JQUERY 和 JAVASCRIPT OOP

javascript - 如何创建一个新对象,并将其父类(super class)型的名称分配给变量?

javascript - 你如何确定 JavaScript 中的媒体类型?

backbone.js - Kendo UI与 Backbone js

javascript - x-editable 向 AJax POST 数据总量提交额外的 "array"

javascript - 字符串分数转数字

javascript - JS继承的诡异时刻

javascript-framework - 对于新手 Web 开发人员来说,最简单的 Javascript 框架是什么?

javascript - 对多个警报进行编程的最佳方法