Эксперт в области разработки веб-приложений и безопасности в интернете. Каждый месяц мой блог посещают около 90 тысяч человек. Работаю техническим директором в «Системах документооборота», занимаюсь электронным правительством.
<html>
<head>
<script>
/* When are functions defined? */
function really() { alert("Original"); }
if (0) {
alert("No");
function really() { alert("Yes, really"); }
}
really();
</script>
</head>
<body>Really</body>
</html>
Поведение тут зависит от браузера, FF выведет «Original», а остальные браузеры — «Yes, really».
ELV1S (elv1s.ru)
4 декабря 2008, 13:04
Alisey (alisey.myopenid.com)
4 декабря 2008, 13:42
bolk (bolknote.ru)
4 декабря 2008, 13:51,
ответ предназначен ELV1S (elv1s.ru):
bolk (bolknote.ru)
4 декабря 2008, 13:51,
ответ предназначен Alisey (alisey.myopenid.com):
bolk (bolknote.ru)
4 декабря 2008, 13:52,
ответ предназначен ELV1S (elv1s.ru):
Alisey (alisey.myopenid.com)
4 декабря 2008, 14:00
Alisey (alisey.myopenid.com)
4 декабря 2008, 14:20,
ответ предназначен bolk (bolknote.ru):
В PHP до версии 5.3 нет лямбд, так что о чём речь?Причём здесь лямбды? Речь о порядке инициализации и области видимости. И замыкание - это не "функция внутри функции". Замыкание - это функция, с привязкой переменных на основе лексического контекста. Она может быть совсем даже снаружи, а не внутри.
bolk (bolknote.ru)
4 декабря 2008, 15:27,
ответ предназначен Alisey (alisey.myopenid.com):
И замыкание - это не "функция внутри функции".Я упрощённо говорю, ага.
Причём здесь лямбды?Я подумал, что речь идёт о create_function, только сейчас догадался, что речь идти может и о function вложенном в function.
Нашёл, ECMA-262.Меня волнует моё невольно заблуждение. Я всегда считал, что два упоминаемых описания эквиваленты в языке. По стандарту это так или нет?
Alisey (alisey.myopenid.com)
4 декабря 2008, 16:56,
ответ предназначен bolk (bolknote.ru):
bolk (bolknote.ru)
4 декабря 2008, 17:15,
ответ предназначен Alisey (alisey.myopenid.com):
bolk (bolknote.ru)
4 декабря 2008, 17:17,
ответ предназначен Alisey (alisey.myopenid.com):
Alisey (alisey.myopenid.com)
4 декабря 2008, 17:27,
ответ предназначен bolk (bolknote.ru):
bolk (bolknote.ru)
4 декабря 2008, 17:44,
ответ предназначен Alisey (alisey.myopenid.com):
jahson.livejournal.com (jahson.livejournal.com)
4 декабря 2008, 20:45,
ответ предназначен bolk (bolknote.ru):
Alisey (alisey.myopenid.com)
4 декабря 2008, 20:47,
ответ предназначен bolk (bolknote.ru):
Alisey (alisey.myopenid.com)
4 декабря 2008, 22:00,
ответ предназначен jahson.livejournal.com:
Alisey (alisey.myopenid.com)
4 декабря 2008, 22:01,
ответ предназначен bolk (bolknote.ru):
jahson.livejournal.com (jahson.livejournal.com)
4 декабря 2008, 23:03,
ответ предназначен Alisey (alisey.myopenid.com):
Alisey (alisey.myopenid.com)
5 декабря 2008, 00:08,
ответ предназначен jahson.livejournal.com:
zeroglif.myopenid.com (zeroglif.myopenid.com)
5 декабря 2008, 00:47
jahson.livejournal.com (jahson.livejournal.com)
5 декабря 2008, 07:28,
ответ предназначен Alisey (alisey.myopenid.com):
jahson.livejournal.com (jahson.livejournal.com)
5 декабря 2008, 07:29,
ответ предназначен zeroglif.myopenid.com:
bolk (bolknote.ru)
5 декабря 2008, 11:49,
ответ предназначен jahson.livejournal.com:
Alisey (alisey.myopenid.com)
5 декабря 2008, 11:53,
ответ предназначен zeroglif.myopenid.com:
но чтобы не ломать дурацкий код...Так какой же код официально "дурацкий"? IE-style, Mozilla-style?
jahson.livejournal.com (jahson.livejournal.com)
5 декабря 2008, 12:54,
ответ предназначен bolk (bolknote.ru):
jahson.livejournal.com (jahson.livejournal.com)
5 декабря 2008, 12:56,
ответ предназначен Alisey (alisey.myopenid.com):
Alisey (alisey.myopenid.com)
5 декабря 2008, 13:53,
ответ предназначен jahson.livejournal.com:
zeroglif.myopenid.com (zeroglif.myopenid.com)
5 декабря 2008, 14:10
ELV1S (elv1s.ru)
«Yes, really» будет везде, кроме Firefox-а. И в Опере, и в Сафари, и в IE.4 декабря 2008, 13:02
http://dmitry.baranovskiy.com/post/36156571