[英]console.log does not print undefined?
我是Java語言的新手。 我試圖通過使用不同的示例來了解“ this”在哪里。 我正在使用console.log打印一些值,如下所示。
function FuncObject(value) {
this.answer = value;
this.get_answer = function () {
return this.answer;
}
};
var f = new FuncObject(42);
var fanswer = f.get_answer;
console.log(fanswer())
console.log打印“功能”而不是“未定義”。 document.writeln似乎打印“ undefined”,這是正確的,因為它綁定到沒有答案的窗口對象。 現在打印功能使我感到困惑。 現在我想知道我應該使用什么日志記錄。 我找不到對此的解釋。
謝謝莫漢
萬一您沒注意到,您發布的代碼中有一個錯字
this.get_answer = funcition()
考慮到這一點,我不確定您的經驗水平,因此讓我涵蓋所有基礎。
function FuncObject(value) {
this.answer = value;
this.get_answer = function () {
return this.answer;
}
};
var f = new FuncObject(42);
var fanswer = f.get_answer;
console.log(fanswer())
你設置fanswer = f.get_answer
其中f.get_answer
是一個函數,所以因此它設置fanswer
的功能相當於this.get_answer
。
如果要返回f.get_answer
的返回值, f.get_answer
需要調用f.get_answer()
,它返回42。
使用您輸入的內容, console.log(fanswer())
確實按預期打印出未定義的內容 。
如果您只是簡單地進行console.log(fanswer)
它將記錄為function ,也符合預期。
我不確定為什么您會收到問題中提到的功能 ,因為jsbin絕對不會。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.