Рассмотрим следующие два примера:
Первый:
var x = (function(){ return 786; }());
Второй:
var y = function(){ return 786; }();
Я знаю, что мы не можем использовать function(){ return 786; }();
напрямую как функцию самовызова anoomymus, но теперь, поскольку я назначаю ее переменной x
, я могу использовать эту функцию. Так,
- Есть ли разница в результате поведения переменной
x
в первом и втором методе?
var x = (786);
иvar x = 786;
. Группирование значений в круглые скобки вернет последнее значение. Пример:var x = (5, function(){ return 786; }());
установитx = 786
. - person Ismael Miguel   schedule 08.11.2016(function(){ return 786; }());
, но неfunction(){ return 786; }();
? - person user31782   schedule 08.11.2016var x = [786][0];
иvar x = {x: 786}.x;
, с точки зрения конечного результата и (в некотором роде) синтаксиса. То же, чтоvar x = {x: function(){ return 786; }}.x();
илиvar x = {x: function(){ return 786; }()}.x;
. - person Ismael Miguel   schedule 08.11.2016function(){ return 786; }()
везде, где ожидается выражение, например(//some expression)
- person user31782   schedule 08.11.2016