爲什麼這個作品的時候,我從的NodeJS推出:的NodeJS的未定義 'toUpperCase'(從打字稿生成)
var a = function (name) {
return "Hello, " + name.toUpperCase();
};
var result = a("bob");
console.log(result)
但這:
var A = (function() {
function A(msg) {
this.msg = " ";
this.msg = msg;
}
A.prototype.hello = function (name) {
return "Hello, " + name.toUpperCase();
};
A.prototype.helloToBob = function (fn) {
return fn.apply("Bob");
};
return A;
})();
var test = new A("some message");
var msg = test.hello("Bob1");
var msg2 = test.helloToBob(test.hello);
console.log(msg);
失敗:
return "Hello, " + name.toUpperCase(); ^TypeError: Cannot call method 'toUpperCase' of undefined
?
即生成JS代碼/從打字稿代碼編譯。(沒有錯誤編譯)
'。適用()'接受一組參數,而不是一個參數。 – jfriend00 2015-02-07 05:24:12
糟糕,你是對的!我非常專注於上下文,我忘記了簽名。感謝@ jfriend00的更正,我編輯了我的答案。 – 2015-02-07 05:28:35