Pull to refresh

Справочник, посвященный тонкостям JavaScript

Reading time1 min
Views3.5K
JavaScript Garden — справочник на английском, посвященный тонкостям JavaScript.

Из него я, например, узнал, что массивам можно задавать length:
var list = [1, 2, 3, 4, 5];
list.length = 3;
console.log(list); // => [1, 2, 3]

Что если конструктор возвращает объект, то new тоже будет возвращать этот объект вместо сконструированного:
var name, realCat, evilCat;
function Cat(name) {
 realCat = this;
 this.name = name;
 return {name: 'churchill'};
}
evilCat = new Cat('barsik');
console.log(evilCat.name); // => 'churchill'
console.log(realCat.name); // => 'barsik'
console.log(name); // => undefined

Что this во вложенных функциях ссылается на глобальный объект:
var name;
new function Cat() {
 this.name = 'barsik';
 (function() {
    console.log(this.name); // => undefined
 })();
}

Что изменение arguments вызывает изменение соотвествующих формальных параметров функции:
(function(a) {
 console.log(a); // => 'a'
 arguments[0] = 'b';
 console.log(a); // => 'b'
})('a');

Еще раз ссылка: JavaScript Garden
Tags:
Hubs:
Total votes 86: ↑76 and ↓10+66
Comments43

Articles