Показать сообщение отдельно
  #9 (permalink)  
Старый 27.08.2015, 10:50
Аватар для EmperioAf
Профессор
Отправить личное сообщение для EmperioAf Посмотреть профиль Найти все сообщения от EmperioAf
 
Регистрация: 15.01.2015
Сообщений: 622

Сообщение от squirrelll Посмотреть сообщение
Изучая 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"
1)
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());
Ответить с цитированием