在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 以下代碼同樣的寫法,為什么一個(gè)報(bào)錯(cuò),一個(gè)正確?

以下代碼同樣的寫法,為什么一個(gè)報(bào)錯(cuò),一個(gè)正確?

var write = document.write;
var log = console.log;

log('bbbbb'); //正確執(zhí)行
write('aaaaa'); //報(bào)錯(cuò) Uncaught TypeError: Illegal invocation
回答
編輯回答
選擇

Illegal invocation 非法調(diào)用,就是不給你這么干
window沒這個(gè)方法 你還要吧document傳進(jìn)去
console的話就沒有這一層在哪都行

2018年4月23日 08:30
編輯回答
眼雜

Uncaught TypeError: Illegal invocation 是指非法調(diào)用,
通常發(fā)生的原因是: Calling a Method with a Function Pointer without ".call" or ".bind".

2017年1月17日 09:20
編輯回答
入她眼

這種情況一般是write方法內(nèi)部使用了this, document.write調(diào)用時(shí),this指向document。 你賦值給write然后全局調(diào)用write()時(shí),this指向了window。所以報(bào)錯(cuò)。 可以這樣調(diào)用write.call(document,"aaaaa");

2017年10月1日 17:13