Ну, я не знаю, давай конкретней, может, как замыкания работают не знаешь?
|
Вроде бы знаю поправь если что. Замыкания эта такая технология которая позволяет читать функции переменные из внешних по отношению к ней функций когда родительская функция уже закончила работу и сохранять их. (прочитал из той же книжки)
|
Цитата:
Самое бредовое объяснение, сожги ее наконец. |
Не хорошо жечь книжки за 500 рублей это раз и два понял но не полностью например есть оператор цикла который каждый раз делает ++переменная и например работает пока переменная<=20 а систма замыканий сохранеят не переменная==20 а нужное число. Только я не понял почему ведь каждый раз эта переменная должна заменятся и так пока до 20 и как сделать чтобы эта сис замыканий сохранила имеено нужное число например 15
|
замыкания: http://javascript.ru/basic/closure
наследование: http://javascript.ru/tutorial/object/inheritance и много других интересных статей: http://javascript.ru/doctree Потом снова вернешься к своему примеру. |
http://javascript.ru/tutorial/object/inheritance уже пару часов читаю не как не могу понять
function extend(Child, Parent) { var F = function() { } F.prototype = Parent.prototype Child.prototype = new F() Child.prototype.constructor = Child Child.superclass = Parent.prototype } в чём отличие prototype и [[prototype]] |
Цитата:
|
Интересно у всех так вначале?
|
Цитата:
prototype - свойство конструктора объекта, первоначально указывающее на тот же объект, что и [[prototype]], т.е. .constructor.prototype - явная ссылка на прототип объекта, однако, это свойство можно перезаписать. |
На будущее:
Во многих статьях [[prototype]] == __proto__ |
__proto__ работает только в gecko браузерах поэтому указывать его так не корректно
|
Цитата:
Цитата:
|
Ну напишет так какой-нибудь новичок а он в ИЕ не работает она расстроится и повесится
|
Цитата:
|
Вы говорите что [[prototype]] и prototype указывают на одно и тоже
но в это статье про наследование при создании функции [[prototype]]==function.prototype a prototype==new object |
zzz,
чтобы не пришлось повторятся, вот это тему почитайте http://javascript.ru/forum/misc/3070...avascript.html |
Ура поздравте меня я понял этот код
function extend(Child, Parent) { var F = function() { } F.prototype = Parent.prototype Child.prototype = new F() Child.prototype.constructor = Child Child.superclass = Parent.prototype } а точнее первые три строчки функции екстенд (но веря статье это уже должно работать) |
а я вот них тут не понимаю:blink:
Но вроде это круто... |
Понял весь код
function extend(Child, Parent) { var F = function() { } F.prototype = Parent.prototype Child.prototype = new F() Child.prototype.constructor = Child Child.superclass = Parent.prototype } Vladi го со мной читать http://javascript.ru/tutorial/object/inheritance |
Цитата:
|
Цитата:
|
if(depth)проверка существует ли переменная function.prototype.methodдобавляет новый метод всем функциям. |
Цитата:
// Проверим, существует ли переменная foo if (foo) { // Что за фигня? Почему ошибка? } |
Можно проверять только локальные переменные=)
А так isset(если он в JS есть а то у меня от этого PhP каша в голове) |
Цитата:
var a;то переменная a уже существует, нечего тут проверять. |
Не всегда, например функция создаёт переменную, так можно проверить сработала функция или нет
|
JSprog,
код примера. |
Ну да переменная же локальная определить не как =)
Ну для чего-то же есть такая возможность... |
Часовой пояс GMT +3, время: 09:10. |