1. JavaScript组成
三部分组成:
ECMAScript (语法)
BOM
DOM
2. JavaScript语法
1. 简单介绍
区分大小写
标识符:字母、数字、下划线、$
ECMA变量是松散类型的,可以用来表示任何类型
var声明变量
var name; name = "baby"; var age = 18;
JavaScript 5种基本类型
Undefined、Null、Boolean、Number、String
ECMA6 新增symbol数据类型
1种复杂数据类型 Object
typeof(var) 返回值是String类型
alert(typeof(name)); console.log(typeof(name));
2. 具体内容
1. Undefined & Null
- Undefined — 定义了变量,但是未赋值,就是无法确定这个变量是什么类型的
- Null — 空对象指针,如果这个变量设计为了存放对象,则初始化时设为null
- Undefined 派生自null,所以 undefined == null 为 true
2. Number
Number : 整数和浮点数
NaN : not a number, 比如 age - 3 = NaN,即本来应该是数字,但是没法用数字表示
任何涉及NaN的操作都会返回NaN;
NaN与任何值都不相等,和自己也不相等
isNaN(age) — 先尝试参数能否转为数值,再检测age是否是“非数值” , 返回boolean,比如 isNan(“16”) 会返回false,即 不是NaN
Number(arg) — 强制转换成数值,不成功就返回 NaN. 不推荐这样转换
var topVal = "28px";
alert(parseInt(topVal)); -- parseInt 只处理以数值开头的参数
parseInt("0xf") -- 16进制 15
var d = parseFloat("12.34.56px"); 只处理第一个小数点,忽略第二个小数点
3. String & Boolean
String
arg.toString()
Boolean
1. 除了0之外的所有数值,Boolean(arg) 都为true 2. 除“”之外的所有String,Boolean(arg) 都为true
4. 操作符
加减乘除那些,不记了
逻辑运算那部分,有些面试题会问
5. 流程控制
If else 和其他一样
循环:多了一个for in
for(var i = 1; i < 5; i++) {
document.write(i + "<br />");
}