Для сравнения рассмотрите возможность запуска следующего кода в консолях IE8 и Chrome:

var a = function(){ console.log("function is() initialized"); };

// assign a property named 'function' to function 'a'

a.function = function afunction(f){ return (typeof f === 'function'? true: false); };

// Use our is function to test if a given variable is a function

a.function(a); // IE throws 'expected identifier' error v/s Chrome correctly outputs "true"

Есть идеи, как с этим можно справиться в IE8 без изменения сигнатуры функции: a.function ()?

0
Vikram 27 Авг 2014 в 02:20

1 ответ

Лучший ответ

Используйте альтернативный синтаксис доступа к свойствам, который невосприимчив к вмешательству зарезервированных слов:

a["function"](a);
5
Jon 27 Авг 2014 в 02:23
Я поднял дополнительный вопрос здесь. Спасибо за ваше время!
 – 
Vikram
27 Авг 2014 в 20:17