第八天
1-什么是构造函数?
构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初zhuan始化、
2-创建对象的方式有哪些?举例说明
1-调用系统的构造函数创建对象
var obj = new Object(); //Object就是系统中的构造函数、
2-自定义构造函数创建对象(结合第一种和需求通过工厂函数模式)
function createObject(name,age){
//创建对象
var obj = new Object();
//添加属性
obj.name = name;
obj.age = age;
//添加方法
obj.sayHI = function(){
console.log("你好,我叫"+obj.name+"今年"+obj.age+"岁了");
}}
var f1 = createObject(“小白”,10);
f1();
3-字面量的方式创建对象
var obj = { }; //空对象
//添加属性
obj.name = "小白";
obj.age = 10;
obj.sayHi = function(){
console.log(“我是”+obj.name);
console.log(“我是”+this.name);
}
obj.sayHi();
3-js 种实现继承的方式
1,原型链继承
2,构造函数继承
3,实例继承
4,拷贝继承
5,组合继承
4-什么是闭包?有什么作用?
闭包,顾名思义,就是一个封闭的包裹,里面包裹着自由变量,就像在类里面定义的属性值一样,自由变量的可见范围随同包裹,哪里可以访问到这个包裹,哪里就可以访问到这个自由变量。
作用:闭包避免了使用全局变量,此外,闭包允许将函数与其所操作的某些数据(环境)关连起来。这一点与面向对象编程是非常类似的,在面向对象编程中,对象允许我们将某些数据(对象的属性)与一
个或者多个方法相关联。
5-什么是预解析?
JS代码在执行之前,会对代码进行预解析,寻找作用域中的var 和function ,然后对其进行事先声明,在从上到下执行代码。这就是一个预解析的过程。