一、js变量
js标识符可以包含字母、下划线、美元符($)和数字,不能以数字开头;
使用关键字作为标识符在大多数浏览器会导致“Identifier Expected”(缺少标识符)错误,保留字则会看具体的浏览器是否会报错。所以也不要用关键字和保留字作为标识符。
js区分大小写,(如:y 和 Y 是不同的变量);
向变量分配文本值时,应该用双引号或单引号包围这个值;
向变量赋的值是数值时,不要使用引号;如果您用引号包围数值,该值会被作为文本来处理;
ECMAScript的变量是松散类型的。松散类型可以用来保存任何类型的数据;
1.变量必须声明才能引用,否则将会报错,错误位置后的代码将无法执行;
2.声明的变量,未初始化,值为"undefined";
3.一条语句可声明多个变量,语句以 var 开头,变量间以英文逗号分隔;
var pi=3.14;
var name="Bill Gates";
var name2="Gates", majorIn="致力于", job="数钱玩";
var car1 = "Porsche",
car2 = "Rolls-Royce",
car3 = "Maybach";
var name3;
document.write(pi + "</br>");//3.14
document.write(name + "</br>");//Bill Gates
document.write(name2 + " " + majorIn + " " + job + "</br>");//Gates 致力于 数钱玩
document.write(car1 + " " + car2 + " " + car3 + "</br>");//Porsche Rolls-Royce Maybach
document.write(name3 + "</br>");//undefined
document.write(name4 + "</br>");//Uncaught ReferenceError: name4 is not defined
document.write("~~~~~~~~~~~·····我没执行啊啊啊啊啊啊");
二、作用域
- 全局作用域
- 局部作用域
- 块级作用域 (js中没有块级作用域)
全局作用域:
任何地方都可以访问到的变量
var carName = " Volvo";
// 此处可调用 carName 变量
function myFunction() {
// 函数内可调用 carName 变量
}
局部作用域:
定义在函数内部的变量,函数外面访问不到,局部作用域也可以称为函数作用域
// 此处不能调用 carName 变量
function myFunction() {
var carName = "Volvo";
// 函数内可调用 carName 变量
}