一、CSS选择器
选择器有全局选择器(*)、元素选择器(标签选择器)、class选择器、id选择器、关系选择器、伪类选择器、伪元素选择器、属性选择器
选择器优先级及权重
- 1. 内联样式表的权值最高 1000;
- 2. ID 选择器的权值为 100
- 3. Class 类选择器的权值为 10
- 4. HTML 标签选择器的权值为 1
!important 规则例
二、JS数据类型
基础类型:数值(Number)、字符串(String)、布尔值(Boolean)
复合类型:对象(Object)、数组(Array)、函数(Function)、underfined、null、Symbol(Es6新增)
三、判断数据类型
对于基础数据类型可以用typeof
console.log(typeof 1); //number
console.log(typeof "abc"); //string
console.log(typeof true); //boolean
console.log(typeof null); //object
console.log(typeof undefined); //undefined
console.log(typeof Function); //function
复合数据类型用instanceof
var arr = [10, 20, 30];
var obj = {};
console.log(typeof arr); //object 用typeof检测不了具体类型
console.log(Array.isArray(arr)); //true
console.log(arr instanceof Array); //true
console.log(obj instanceof Object); //true
四、字符串方法
对于字符串方法没有可以改变原字符串的方法
五、数组方法
对于数组方法有可以改变原字符串的方法,如:push()、pop()、shift()、unshift()、reverse()、splice()、sort()
六、闭包
特点:
- 可以读取函数内部变量
- 变量的值始终保持在内存中
// 闭包
function fun1() {
var a = 1;
function fun2() {
a++;
console.log(a);
}
return fun2;
}
var b = fun1();
b(); //2
b(); //3
使用闭包的注意点:
由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题