js函数内定义变量注意的问题
标签
function Foo(){ na=1; this.fnn=function(){ console.log(1)}; } return this; } na; fnn; 结果: >>VM500:1 Uncaught ReferenceError: na is not defined(…)(anonymous function) >>fnn is not defined Foo(); na; fnn(); 结果: >>window >>1 >>function(){console.log(1)} 因为Foo执行后,na前未加var,所以实际上是定义在window.na=1;this.fnn也等价于window.fnn=, 如果var na;其是定义在函数内部的局部变量,外面无法访问。
最新评论