Я использую 64-битную версию Google Chrome версии 52. Я узнал, что если я использую выражение анонимной функции ex.Анонимное выражение функции в Google Chrome
// Anonymous function expression
var expressionFunc = function(){
return true;
};
Переменная expressionFunc
проведет назначенную анонимную функцию, Но это также добавляет имя свойства expressionFunc
этой функции. Так что если я сделаю expressionFunc.name
в консоли, Он даст мне expressionFunc
.
Из того, что я знаю, это анонимное выражение функции должно оставаться анонимным, И функция, на которую ссылается переменная, не должна содержать имя переменной в свойстве имени функции.
Почему хром присваивает свойство имени анонимной функции?
Я понимаю, что вы не создаете анонимную функцию здесь, вы просто объявляете функцию с другим синтаксисом. Счастлив для тех, кто знает стандарт, немного больше для разработки. Анонимная функция будет больше похожа на (function() {alert (true);})(); –
Поведение в Firefox отличается, что говорит о том, что это не ясно. –
Это называется выражением анонимной функции inline. эта функция не имеет имени, так что это анонимная встроенная функция, и присвоение переменной делает ее встроенным анонимным выражением функции. – RuvenGam