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