js中定义变量问题,请问定义变量时有var关键字和没有var关键字有什么差别?

如题所述

avascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的。可以正常运行的代码并不代表是合适的代码。
JS中变量申明分显式申明和隐式申明。
Var i=100 显示申明
i=100 隐式申明
在函数中使用var关键字进行显式申明的变量是做为局部变量,而没有用var关键字,使用直接赋值方式声明的是全局变量。
当我们使用访问一个没有声明的变量时,JS会报错。而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式申明一个全局变量。
var num = 1是在当前域中声明变量. 如果在方法中声明,则为局部变量;如果是在全局域中声明,则为全局变量。
而num = 1,事实上是对属性赋值操作。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-05-19
用var 是定义变量 不加 是修改变量
比如 var a=1; 和 var a; a=1;
如果是函数中var定义的 为局部变量,函数内可用 。函数外 用var定义的变量 函数内 直接 使用,全局变量
相似回答