Для сравнения рассмотрите возможность запуска следующего кода в консолях 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
Похожие вопросы
Связанные вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.