Сообщение от nerv_
|
прочитать самое первое предложение, а после еще раз ответить на мой вопрос
|
Так что Вам не нравится?
Сообщение от monolithed
|
вызов фунции происходит уже в Window, т.к. this будет null
|
При
вызове функции в качестве this будет передан null. При вызове
[[Call]] this будет определён согласно
этому.
С тем, что window — глобальный объект и именно на него будет указывать this в этом случае, никто не спорит. Но вместе с тем, во внутренней механике стандарта используется именно null. window не берётся каким-либо магическим образом из окруженая. И, кстати, в strict mode ES5 this не становится глобальным объектом в случае
var a = function () {
alert(this);
};
a();
a.call(null);
(a = a)();
"use strict";
var a = function () {
alert(this);
};
a();
a.call(null);
(a = a)();
Сообщение от nerv_
|
Флэнаган предполагает, что строки передаются по ссылке, но сравниваются по значению.
|
Элементарные типы.
Фленеган же зачем-то погружается в особенности реализации, которые не зависят от стандарта и могут сильно варьироваться.
Строки наверняка реализованы с механизмом copy-on-write.