2
我有以下簡單的代碼:功能成爲對象
someFields.forEach(
function (itemId) {window.opener.Xrm.Page.getControl(itemId).setDisabled(true);});
的forEach實現爲每MDN(我們要支持IE8 +)。
的問題是該型號:
if ({}.toString.call(callback) !== "[object Function]") {
throw new TypeError(callback + " is not a function");
}
瀏覽器(IE9在IE7兼容模式)識別我的回調爲[對象的對象]而非[對象功能]。但是,該對象具有調用方法,並且如果刪除此檢查,則函數可以正常工作。
任何人都可以澄清爲什麼我看到這樣的行爲?
JOOI,你爲什麼在IE7兼容模式下運行時,你只需要支持IE8 +? –
不會''call(callback)'返回'callback'的返回值而不是'callback'本身?你能提供一個[小提琴](http://jsfiddle.net/),我們可以玩嗎? – sp00m
@ sp00m:不,它會將調用的返回值返回給'{} .toString'函數 – Bergi