簡體   English   中英

為什么不能使用.call()調用console.log

[英]Why can't console.log be called using .call()

下面的代碼返回一個帶有'hello'的彈出窗口。

alert.call(this, 'hello');

但是下面的代碼返回錯誤“TypeError:Illegal invocation”。

console.log.call(this, 'hello');

alert和console.log的實現有什么區別?

alert是一個全局方法( window.alert )。 如果你稱之為alert.call(this)this就是window對象。

由於日志是在控制台對象的方法,它預計this是控制台對象本身,但你仍然稱這是thiswindow ),所以你得到一個錯誤。

運行console.log.call(console, 'test')可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM