var Bob = function() {
bob.hey = function (string) {
return "";
};
};
var bob = new Bob();
bob.hey('Hi.');
上面的代碼返回「TypeError:無法設置屬性'hey'undefined」。怎麼了?Javascript - 不能設置方法屬性undefined
var Bob = function() {
bob.hey = function (string) {
return "";
};
};
var bob = new Bob();
bob.hey('Hi.');
上面的代碼返回「TypeError:無法設置屬性'hey'undefined」。怎麼了?Javascript - 不能設置方法屬性undefined
我想你想用this
的Bob
的定義中:
var Bob = function() {
this.hey = function (string) {
return "";
};
};
var bob = new Bob();
bob.hey('Hi.');
在你的代碼這一點,變量bob
尚未確定:
bob.hey = function (string) {
相反,你應該使用this
來引用當前對象:
this.hey = function (string) {
從VAR裏面剛纔提到的this
因爲bob
沒有定義的變量...
bob.hey = function (string) {
應該是...
this.hey = function (string) {
鮑勃!==鮑勃和我不認爲代碼是你想要的... – epascarello
爲什麼你要返回'「」'而不使用傳入的參數? –
*「有什麼問題?」*如錯誤所示,「bob」未在「Bob」中定義。你爲什麼期望這個工作? –