Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.01.2011, 13:32
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Разное поведение запускаемого кода
при использовании js run получается удалить переменную, объявленную с помощью var

<script>
var a = 1;   // создаем глобальную переменную
b = 2;   // создаем свойство в глобальном объекте (window)
alert( a );
alert( b );
alert( delete a );   // нельзя удалить глобальную переменную
alert( delete b );
try {
    alert( a );
} catch( e ){ alert(e); }
try {
    alert( b );
} catch( e ){ alert(e); }
</script>


var a = 1;   // создаем глобальную переменную
b = 2;   // создаем свойство в глобальном объекте (window)
alert( a );
alert( b );
alert( delete a );   // нельзя удалить глобальную переменную
alert( delete b );
try {
    alert( a );
} catch( e ){ alert(e); }
try {
    alert( b );
} catch( e ){ alert(e); }


в частности было бы интересно, в чем причина
Ответить с цитированием
  #2 (permalink)  
Старый 21.01.2011, 13:46
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Оффтоп: давно крутится в голове вопрос, а тут увидел и вспомнил Почему "Показать исходный код" есть, а свернуть его обратно нельзя???
Ответить с цитированием
  #3 (permalink)  
Старый 21.01.2011, 13:50
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

В первом случае код запускается в iframe. Во втором ему делается eval. Переменные, созданные в eval-е, могут удаляться.

имхо, eval тут лучше не использовать (его нигде лучше не использовать). А использовать new Function. Тогда везде одинаково будет.
Ответить с цитированием
  #4 (permalink)  
Старый 21.01.2011, 13:50
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

Да, нельзя свернуть. Идея такая, что это не надо. Пролистывайте дальше =)

Удалять переменную при помощи delete вообще не следует.
Ответить с цитированием
  #5 (permalink)  
Старый 21.01.2011, 13:52
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

P.S. В новой реализации песочницы все в iframe. Но когда она будет прикручена.. Это вопрос :/
Ответить с цитированием
  #6 (permalink)  
Старый 21.01.2011, 13:57
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Кстати, насчёт сворачивания. Страницы, где есть каты, хреново открываются по хэшу, не на то место прокручиваются. Как я понимаю, каты сворачиваются после загрузки страницы, когда скрол уже встал на нужное сообщение, после сворачивания скрол, разумеется уезжает. Приходится кликать в адресную строку и нажимать enter, чтобы попасть, куда хотел.
Ответить с цитированием
  #7 (permalink)  
Старый 21.01.2011, 14:10
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

не мог бы ты пример с урлом дать и куда кликать? что-то не воспроизводится..
Ответить с цитированием
  #8 (permalink)  
Старый 21.01.2011, 14:13
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Илья Кантор
Удалять переменную при помощи delete вообще не следует.
согласен, просто показывал, что с var - не то же самое, что без var
Ответить с цитированием
  #9 (permalink)  
Старый 21.01.2011, 14:20
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Илья Кантор
не мог бы ты пример с урлом дать и куда кликать? что-то не воспроизводится..
Оно не всегда воспроизводится. Примеры: все ссылки к новому сообщению в темы с катами. Если обнаружу более точные условия -- скажу.
Ответить с цитированием
  #10 (permalink)  
Старый 31.01.2011, 12:12
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Чем занимаются JS-программеры.

Вот по этой ссылке не переходит к нужному сообщению.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрыть из исходного кода часть javascript кода. javasc Javascript под браузер 10 12.03.2014 09:32
Скрипт вставки BB кода petr0007 Internet Explorer 2 20.02.2013 01:02
jquery 1.4.2 + jquery.form: разное поведение ajaxSubmit в разных браузерах dmitry87 jQuery 3 30.10.2010 02:01
Генератор Html кода Grindel Общие вопросы Javascript 0 08.10.2010 20:06
Добавление методов к стандартным объектам и совместимость кода Василий Б. Общие вопросы Javascript 10 20.07.2010 12:00