私が書くと動作します(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'
配列オブジェクトに同じアプローチを使用できないのはなぜですか?