1.什么是作用域链
内部函数访问外部函数的变量使用链式查找来决定取决哪个值叫做作用域链(取值就近原则)
2.Js运行步骤
预解析和执行
预解析:js引擎会把var 和 function提升到当前作用域最前面,不提升赋值操作
执行:按照提升后的代码顺序进行执行
var a = 1;
a1();
function a1(){
console.log(a);
}
//js提升操作
var a;
a = 1;
function a1(){
console.log(a);
}
a1();
3.什么是对象
在js中对象是一组无序的相关属性和方法的集合
4.什么是构造函数
构造函数就是把对象中相同的属性和方法抽象出来封装到函数里面
5.构造函数要点
创建构造函数function Star(){ }名称首字母要大写
在构造函数中创建对象var ldh = new Star() 一定要用new
6.New关键字执行过程
New构造函数可以在内存中创建一个空的对象
This指向这个对象
7.indexOf()
检查新数组中是否有相同的元素(不存在则返回-1),用于数组去重
8.concat
连接数组,不影响原数组
9.字符串是否可变
字符串不可变,字符串重新赋值时是地址指向变了
10.简单数据类型和复杂数据类型
简单数据类型叫做值类型,在存储变量中存储的是值本身,如null,boolean,undefined,number,string,放在栈中
复杂数据类型又叫做引用数据类型,在存储变量中存储的是地址,通过new创建的对象,如:object,array,date,放在堆中
11.事件的组成
事件源、事件类型和事件处理程序
如:按钮被点击弹出对话框,事件源:按钮,事件类型:点击,事件处理程序:弹出对话框