它在我写(http://jsfiddle.net/XJwvP/)时有效:
var Person = function(name) { this.name = name; }
Person.prototype = function () {
var sayHello = function (name) {
alert("Hello, " + name);
};
return {
sayHello: sayHello
};
}();
var person = new Person("Max");
person.sayHello("James");
我写的时候它不起作用(http://jsfiddle.net/ZKd4R/):
Array.prototype = function () {
var sayHello = function (name) {
alert("Hello, " + name);
};
return {
sayHello: sayHello
};
}();
var array = new Array();
array.sayHello("James");
错误:
Uncaught TypeError: Object [object Array] has no method 'sayHello'
为什么我不能对 Array 对象使用相同的方法?