- js的基础类型:String,Null,Undefined,Boolean,Number,Symbol(新增),和复杂类型Object。用typeof检测数据类型。
- 代表空、否定的值会被转换为 false ,如 ‘’、0、NaN、null、undefined。
console.log(Boolean('')); // false
console.log(Boolean(0)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
- 数据类型转换:
(1)转换为字符串:String(),toString(),隐式转换。
var num = 12
let a = num.toString()
let b = String(num) // 强制性转换
let c = num + ''
(2)转换为数字型:parselint(),parseFloat(),Number(),js隐式转换。
var num = '123'
let a = parselnt(num)
let b = parseFloat(num)
let c = Number(num)
let d = num - 0
- 浮点数的计算,浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数,所以:不要直接判断两个浮点数是否相等 !
var result = 0.1 + 0.2; // 结果不是 0.3,而是:0.30000000000000004
console.log(0.07 * 100); // 结果不是 7, 而是:7.000000000000001
- 等号的比较,’= ='表示判断,一般会进行类型转换,用来表示数值的相等与否,尽量不要使用。"= = ="表示全等,不仅仅判断值是否相等,还判断数据类型是否相等。
具体的null与undefined的对比 - if-else if,与switch-case的使用方法和选择,for循环的使用,双重for循环。continue 关键字用于立即跳出本次循环,继续下一次循环(本次循环体中 continue 之后的代码就会少执行一次)。break 关键字用于立即跳出整个循环(循环结束)。
- js的预解析:预解析会把变量和函数的声明在代码执行之前执行完成。变量提升只提升声明,不提升赋值。
- 只要是代码都一个作用域中,写在函数内部的局部作用域,未写在任何函数内部即在全局作用域中;如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域;根据在**[内部函数可以访问外部函数变量]**的这种机制,用链式查找决定哪些数据能被内部函数访问,就称作作用域链。
- for…in 语句用于对数组或者对象的属性进行循环操作。
for (var k in obj) {
console.log(k); // 这里的 k 是属性名
console.log(obj[k]); // 这里的 obj[k] 是属性值
}
10.JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对象
前面两种对象是JS 基础内容,属于 ECMAScript; 第三个浏览器对象属于 JS 独有的, JS API 讲解内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法),内置对象最大的优点就是帮助我们快速开发.JavaScript 提供了多个内置对象:Math、 Date 、Array、String等
11.数组的方法。这里的介绍十分详细
12.字符串的相关方法。string