области видимости и другие хитрости JavaScript
Изучая JS, параллельно тестируюь, есть сомнения.. Очень важно мнение экспертов
1. function f(a,b) { ... } При вызове f(11), какое значение будет иметь аргумент b внутри функции? Oтвет: Null 2. var m = parseInt("strin"); Какое значение будет иметь m? Oтвет: m=0. 3. function f(n) { if (n > 10) { var k = "n"; } } Какую область видимости имеет k? Oтвет: k-Лок.переменная.Находится в начале области видимости функции, а не на уровне блока кода if... 4. var myPrj = {}; myPrj.myObj = (function() { var myPrivateVar = "private"; var myPrivateFun = function() { return myPrivateVar; }; return { publicFunName: myPrivateFun(); }; })(); К чему приведут вызовы m , n: a) var m = myPrj.myObj.publicFunName(); b) var n = myPrj.myObj.myPrivateFun(); Ответ: m="private", n="private" |
В ФФ еще можно Shift+F4 - там целый блокнотик с возможностью запуска.
|
вопрос
var k; k == undefined ??? |
А что не так?
|
Цитата:
2. NaN |
Ответы:
1. undefined 2. NaN 3. У вас правильный ответ 4. m="private", n=Ошибка выполнения кода |
Цитата:
За что вы человека в минуса вогнали? только потому что человек учит язык и просит совета у знающих вы лупите минуса. Не справедливо мне кажется. |
Чем "Подобное можно проверять самостоятельно при помощи консоли" не совет?
|
Цитата:
function f(a,b) { alert(b); } f(10); 2) var m = parseInt("strin"); alert(m); 3) function f(n) { if (n > 10) { var k = "n"; alert(k+" в if"); } alert(k + " в функции"); } f(15); alert(k + " в глобальной области видимости"); 4) var myPrj = {}; myPrj.myObj = (function() { var myPrivateVar = "private"; var myPrivateFun = function() { return myPrivateVar; }; return { publicFunName: myPrivateFun() }; })(); alert(myPrj.myObj.publicFunName()); alert(myPrj.myObj.myPrivateFun()); |
Спасибо за ответы!
|
Часовой пояс GMT +3, время: 11:00. |