JavaScript中不使用var声明的变量有哪些潜在风险和区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计774个文字,预计阅读时间需要4分钟。
一、变量声明显示的声明与隐式声明(var)+ var name='muzidigbig';+ // 显式声明:name='muzidigbig';+ // 隐式声明(为全局变量):在函数中使用var关键字
一、区分显示的声明与隐式声明(var)
JS中变量声明分显式声明和隐式声明。
var name = 'muzidigbig';//显示声明 name = 'muzidigbig';//隐式声明(为全局变量的一个属性)
在函数中使用var关键字进行显式声明的变量是做为局部变量,在全局范围内声明的变量为全局变量;而没有用var关键字,使用直接赋值方式声明的是全局变量(全局对象属性)。
// name = 'muzidigbig';//隐式声明(为全局变量的一个属性) console.log(name); function person(){ name = '木子大大'; console.log(name); } person();
当我们使用访问一个没有声明的变量时,JS会报错;而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式声明一个全局变量,这一点一定要注意。
本文共计774个文字,预计阅读时间需要4分钟。
一、变量声明显示的声明与隐式声明(var)+ var name='muzidigbig';+ // 显式声明:name='muzidigbig';+ // 隐式声明(为全局变量):在函数中使用var关键字
一、区分显示的声明与隐式声明(var)
JS中变量声明分显式声明和隐式声明。
var name = 'muzidigbig';//显示声明 name = 'muzidigbig';//隐式声明(为全局变量的一个属性)
在函数中使用var关键字进行显式声明的变量是做为局部变量,在全局范围内声明的变量为全局变量;而没有用var关键字,使用直接赋值方式声明的是全局变量(全局对象属性)。
// name = 'muzidigbig';//隐式声明(为全局变量的一个属性) console.log(name); function person(){ name = '木子大大'; console.log(name); } person();
当我们使用访问一个没有声明的变量时,JS会报错;而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式声明一个全局变量,这一点一定要注意。

