美文网首页
ES笔记—基础之变量篇

ES笔记—基础之变量篇

作者: linchwei | 来源:发表于2017-04-10 10:16 被阅读0次

ECMAScript 的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存值的占位符而已。定义变量时要使用 var 操作符(注意 var 是一个关键字),后跟变量名(即一个标识符),如下所示:

var message;   // 未经过初始化,会保存一个特殊的值——undefined
var message = "hi";
    message = 10  // 不建议修改变量所保存值的类型

注意:即用 var 操作符定义的变量将成为定义该变量的作用域中的局部变量。也就是说,如果在函数中使用 var 定义一个变量,那么这个变量在函数退出后就会被销毁,例如:

function test(){
  var message = "hi"; // 局部变量
}
test();
alert(message); // 错误!

若定义变量时省略了关键字var,则变量将会泄露成全局变量,可以在任何地方访问到。

function test(){
  message = "hi"; // 全局变量
}
test();
alert(message); // "hi"

注意:省略 var 操作符可以定义全局变量,但这也不是我们推荐的做法。因为在局部作用域中定义的全局变量很难维护,而且如果有意地忽略了 var 操作符,也会由于相应变量不会马上就有定义而导致不必要的混乱。给未经声明的变量赋值在严格模式下会导致抛出 ReferenceError 错误。

function test(){
  'strict mode';
  message = "hi";  // 不能给未经声明的变量赋值
}
test();
alert(message); // "hi"

可以使用一条语句定义多个变量,只要像下面这样把每个变量(初始化或不初始化均可)用逗号分隔开即可:

var message = "hi",
    found = false,
    age = 29;

相关文章

网友评论

      本文标题:ES笔记—基础之变量篇

      本文链接:https://www.haomeiwen.com/subject/excsattx.html