javascript 面试题

前端之家收集整理的这篇文章主要介绍了javascript 面试题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

javascript 返回值

<script>
var v=123;
function foo(){
    var v=456;
    function inner(){
        console.log(v)
    }
    return inner
}

result = foo()
console.log(result)
</script>

原因:

return inner 中inner是一个对象,当执行return inner时,会自动返回inner对象。

javascript 作用域

<script>
var v=123;
function foo(){
    var v=456;
    function inner(){
        console.log(v)
    }
    return inner
}

result = foo()
console.log(result())
</script>

原因:

result() 当返回inner对象时,会自动执行inner对象,先输出456,由于inner没有返回值,执行到return inner() 
返回空值,空值在javascript中是undefined

2


<script>
    Name='root';
    Age= 18;
    function Foo(name,age){
    	this.Name = name;
    	this.Age = age;
    	this.Func = function(){
    		console.log(this.Name,this.Age);
    		(function(){
    			console.log(this.Name,this.Age);
    		})();
    	}
    }
    
    obj = new Foo('alex',666)
    obj.Func()
</script>

1


猜你在找的JavaScript相关文章