变量在javascript中就是用一个变量名表示,变量名是大小写英文、数字、$和_的组合,且不同用数字开头,变量名也不能是javascript的关键字,如if、while等。
声明一个变量用var语句。
var a;//声明了变量a,此时a的值为undefined
var $b = 1;//声明一个变量$b,同时给$b赋值,此时$b的值为1
var s_007 = ‘007‘;//s_007是一个字符串
var Answer = true;//Answer是一个布尔值true
var t = null;//t的值是null
变量名也可以是中文,但是请不要给自己找麻烦
在javascript中,使用等号=对变量进行赋值。可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,但是要注意只能用一次var声明一次。
var a = 123;//a的值是整数123
a = ‘ABC‘;//a变为字符串
这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。
JavaScript在设计之初,为了方便初学者学习,并不强制要求用var申明变量。这个设计错误带来了严重的后果:如果一个变量没有通过var申明就被使用,那么该变量就自动被申明为全局变量:
i = 10; // i现在是全局变量
使用var声明的变量不是全局变量,它的范围被限制在该变量被声明的函数体内,同名变量在不同的函数体内互不冲突。
为了修补javascript这一严重设计缺陷,ECMA在后续规范中推出了strict模式,在strict模式下运行javascript代码,强制通过var声明变量,未使用var声明变量就使用的,将导致运行错误。
启用strict模式的方法是在javascript代码的第一行写上:
‘use strict‘;
这是一个字符串,不支持strict模式的浏览器会把它当做一个字符串语句执行,支持strict模式的浏览器将开启strict模式运行javascript。