Day8

1-什么是构造函数?

  构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化.构造函数具有一些特殊的性质

  构造函数的名字必须与类同名

  构造函数没有返回类型,它可以带参数,也可以不带参数

  声明类对象时,系统自动调用构造函数,构造函数不能被显式调用

  构造函数可以重载,从而提供初始化类对象的不同方法

  若在声明时未定义构造函数,系统会自动生成默认的构造函数,此时构造函数的函数体为空

2-创建对象的方式有哪些?举例说明

  调用系统的构造函数创建对象
  var obj = new Object(); //构造函数
  添加属性
  obj.name = "小白";
  添加方法
  obj.play = function() {
  console.log("打游戏");
  }


  获取对象的属性或者是调用方法
  console.log(obj.name);
  obj.play();


  工厂函数和new Object创建对象 创建多个对象
  function createObj(name) {
  var obj = new Object();
  obj.name = name;
  obj.xw = function() {
  console.log(this.name + "不好");

  }
  return obj
  }
  实例化
  var aa = createObj("小白");
  aa.xw();
  var bb = createObj("小红");
  console.log(aa, bb);

  构造函数创建对象
  定义构造函数
  function c(name) {
  this.name = name;
  this.sayHi = function() {
  console.log("你好");
  }
  }
  使用构造函数创建对象
  var sun = new c("吕布");
  console.log(sun);


  字面量创建对象
  var obj = {
  name: "华佗",
  sayHi: function() {
  console.log("医术高超")
  }
  }
  设置和获取属性的另一种方法
  obj[name] = "华佗";
  console.log(obj["name"]);
  obj["sayHi"]();

3-js 种实现继承的方式

①构造函数继承②原型链继承③组合继承④class继承⑤实例继承⑥拷贝继承⑦寄生组合继承

4-什么是闭包?有什么作用?

  闭包是指有权访问另一个函数作用域中的变量的函数

  一个内部函数,有权访问包含其的外部函数中的变量,就形成了闭包。

  作用:

  一种就是上面提到的使函数外部能够读取到函数内部的变量;

  让函数内部的变量一直隐藏/保存在内存中(JavaScript的垃圾回收机制:解释器检测到没有程序在使用这个对象了,当它确定其是无用的时候,JavaScript的解释器就把会把该对象所占用的内存释放掉)。

5-什么是预解析?

  预解析指的就是,在js文件或者script里面的代码在正式开始执行之前,进行的一些解析工作。这个工作很简单,就是在全局中寻找var关键字声明的变量和通过function关键字声明的函数

posted @ 2021-02-05 23:06  warisFairy  阅读(49)  评论(0)    收藏  举报