|
Я нашел скрытый бонус JavaScript
for(i=0;i<3;i++){ window.setTimeout(function(i){ alert("test"+i); },1000,i); } т.е. параметр i обязателен! |
Аналогично
window.addEventListener("load",function(i){ alert("test"+i); }(i),false); |
Цитата:
test = true, function(x){ var test = x; eval.call(window, "alert(test)"); }(false); // скрытый бонус))) |
Только этот бонус не работает, как цикл находиться внутри функции
|
Цитата:
|
Я уже решил проблему!
|
Цитата:
test = true, function(x) { var test = x; alert(window.test); }(0); :) |
monolithed, мне просто вспомнилось, как когда-то мне надо было эвалить ( я был молод, горяч и любил эвалить:D ) скрипты. Но так как эвал происходит в текущем контексте, переменные оказывались не там, где надо:
(function(){ eval("var test = true;"); }()); alert("test" in window);Тогда я решил проблему так: (function(){ eval.call(window, 'var test = true;'); }()); alert("test" in window);А потом я неожиданно узнал, что в ie так не получится. Тогда мне помог execScript, но с тех пор я понял: нашел "скрытый бонус", первым делом опробуй его в ie!:) |
|
Цитата:
Цитата:
setTimeout(function(){ alert( arguments.length ); }, 1, 1, 2, 3); |
Часовой пояс GMT +3, время: 19:37. |
|