目录
JavaScript 变量
变量是用于存储信息的"容器"
示例:
var x=5;
var y=6;
var z=x+y;
JavaScript 变量
与代数一样,JavaScript 变量可用于存放值(比如 x=5)和表达式(比如 z=x+y)。
变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。
变量必须以字母开头
变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
变量名称对大小写敏感(y 和 Y 是不同的变量)
JavaScript 语句和 JavaScript 变量都对大小写敏感。
声明(创建) JavaScript 变量
在 JavaScript 中创建变量通常称为"声明"变量。
我们使用 var 关键词来声明变量:
var carname;
变量声明之后,该变量是空的(它没有值)。
如需向变量赋值,请使用等号:
carname="Volvo";
不过,您也可以在声明变量时对其赋值:
var carname="Volvo";
在这里我突然想到了变量提升,变量提升就是使用var
声明的变量会被提升到其作用域的最顶部,但是,它们的赋值过程不会被提升。这意呀着,如果你在声明之前访问这些变量,它们不会是undefined
(在严格模式下是这样),但是如果你尝试访问它们的值,将会得到undefined
,因为它们还没有被赋值。let
、const
声明的变量不会被提升。
函数声明会优先于变量声明被提升。这意味着,在同一个作用域内,如果一个函数声明和一个变量声明(使用var
)具有相同的名称,那么函数声明会在变量声明之前被处理,因此会覆盖变量声明。
Value = undefined
在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际上是 undefined。
在执行过以下语句后,变量 carname 的值将是 undefined:
var carname;
重新声明 JavaScript 变量
如果重新声明 JavaScript 变量,该变量的值不会丢失:
在以下两条语句执行后,变量 carname 的值依然是 "Volvo"
var carname="Volvo";
var carname;
JavaScript 算数
可以通过 JavaScript 变量来做算数,使用的是 = 和 + 这类运算符
y=5;
x=y+2;
let 和 const (ES6)
在 2015 后的 JavaScript 版本 (ES6) 允许我们使用 const 关键字来定义一个常量,使用 let 关键字定义的限定范围内作用域的变量。
我们现在常用let来声明变量
JavaScript 数据类型
值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol。
Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值
引用数据类型(对象类型):对象(Object)、数组(Array)、函数(Function),还有两个特殊的对象:正则(RegExp)和日期(Date)
JavaScript 拥有动态类型
JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型
var x; // x 为 undefined
var x = 5; // 现在 x 为数字
var x = "John"; // 现在 x 为字符串
在 JavaScript 中,当你声明一个变量时,你不需要指定它的类型。JavaScript 引擎会根据赋值给变量的值自动推断变量的类型。
变量的数据类型可以使用 typeof 操作符来查看:
typeof "John" // 返回 string
typeof 3.14 // 返回 number
typeof false // 返回 boolean
typeof [1,2,3,4] // 返回 object
typeof {name:'John', age:34} // 返回 object
JavaScript 字符串
字符串是存储字符(比如 "Bill Gates")的变量。
字符串可以是引号中的任意文本。可以使用单引号或双引号
如果周围有引号,要和周围的引号进行区分,比如周围的是用单引号,那字符串就是用双引号,反之使用单引号。
var answer="It's alright";
var answer="He is called 'Johnny'";
var answer='He is called "Johnny"';
JavaScript 数字
JavaScript 只有一种数字类型。数字可以带小数点,也可以不带
var x1=34.00; //使用小数点来写
var x2=34; //不使用小数点来写
极大或极小的数字可以通过科学(指数)计数法来书写:
var y=123e5; // 12300000
var z=123e-5; // 0.00123
JavaScript 布尔
布尔(逻辑)只能有两个值:true 或 false
var x=true;
var y=false;
JavaScript 数组
创建数组的方法:
1.
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
2.condensed array
var cars=new Array("Saab","Volvo","BMW");
3.literal array
var cars=["Saab","Volvo","BMW"];
数组下标是基于零的,第一个项目是 [0],第二个是 [1],以此类推。
JavaScript 对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔
var person={firstname:"John", lastname:"Doe", id:5566};
上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。
空格和折行无关紧要。声明可横跨多行:
var person={
firstname : "John",
lastname : "Doe",
id : 5566
};
对象属性有两种寻址方式:
name=person.lastname;
name=person["lastname"];
document.write(person.lastname + "<br>");
document.write(person["lastname"] + "<br>");
Undefined 和 Null
Undefined 这个值表示变量不含有值。
var lastName;
可以通过将变量的值设置为 null 来清空变量
newName = null;
声明变量类型
当声明新变量时,可以使用关键词 "new" 来声明其类型:
var carname=new String;
var x= new Number;
var y= new Boolean;
var cars= new Array;
var person= new Object;
JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。 |