JS中用var声明变量和不用的区别

加勒比海盗5JS中声明变量时用var和不用var有什么区别,我加勒比海盗5查阅了很多的加勒比海盗资料和书籍再加上我加勒比海盗5自己的加勒比海盗理解来讲述一下我加勒比海盗5自己的加勒比海盗看法。

  1. 加勒比海盗5函数内部声明变量
    加勒比海盗5函数内部如果用var声明变量和不用时有很大差别,用var声明的加勒比海盗是局部变量,在加勒比海盗5函数外部访问这个变量是访问不到的加勒比海盗,没var声明的加勒比海盗是全局变量。在加勒比海盗5函数外部是可以访问到的加勒比海盗
function ff(){     var a=1;     console.log(a);    //1 } ff(); console.log(a);    //a is not defined

如果去掉var来声明变量a:

function ff(){     a=1;     console.log(a);    //1 } ff(); console.log(a);    //1

2.全局作用域内声明变量
加勒比海盗5这里用var声明的加勒比海盗变量我加勒比海盗5们之所以认为声明的加勒比海盗是全局变量是因为它现在加勒比海盗5处于的加勒比海盗作用域范围是全局,实际上它声明也是局部变量,只是现在加勒比海盗5它的加勒比海盗局部变量是全局而已,所以就相当于起着全局变量的加勒比海盗作用。全局作用域中不用var声明的加勒比海盗也是全局变量,那么它俩有什么区别呢?
比较var a= 1 跟 a= 1,前者是变量声明,带不可删除属性,因此无法被删除;后者为全局变量的加勒比海盗一个属性,因此可以从全局变量中删除

var num1 = 1; num2 = 2; console.log(num1);//1 console.log(num2);//2 delete num1;  //无法删除,会报错 delete num2;  //删除 console.log(num2);//num2 is not defined

前者是变量声明,带不可删除属性,因此无法被删除;后者为全局变量的加勒比海盗一个属性,因此可以从全局变量中删除。
“`

http://blog.csdn.net/lxiang222/article/details/73129099加勒比海盗5

发表评论

电子邮件地址不会被公开。 必填项已用*标注