js是解释性语言,在定义变量时,不需要提前声明,虽然js语言与c语言很相似,但是在变量作用域这方面还是有些区别的
比如下面的这个例子
<html>
<head>
<script type='text/javascript'>
var a=1;
c=new function(){
alert(typeof(a));
var a=1;
};
alert(typeof(a));
</script>
<body>
</body>
</html>
在c语言中应该为 number number
而在js中为 undefined number
var a;
c=new function(){var a=1;alert(typeof(a));};
alert(typeof(a));
结果为:number,undefined;
注意js里面var,它控制了变量的作用范围。函数内的变量只要带有var,那么函数内用的这个变量就和函数外的无关