#前端学习笔记js#day7 debug this 构造函数
- debug(60)
- 这边点击一下就是中止点,f5刷新后会运行终止点前的代码,后的需要点击运行键运行

- 我们的浏览器:来源->选中html文件

- this(61)
- 解析器在调用函数每次都会向函数内部传递进一个隐含的参数,这个隐含的参数就是this ,this指向一个对象。这个对象我们称之为函数执行的上下文对象。
- 根据函数的调用方式不同,this会指向不同对象

- 1.以函数方式调用时,this永远都是window(fun();)
- 2.以方法的形式调用时,this就是调用方法的对象,这边this就是obj


- 1.以函数方式调用时,this永远都是window(fun();)
- 根据函数的调用方式不同,this会指向不同对象
- this补充(62)
- 用this.name就会使用调用对象的name

- 使用工厂方法创建对象(63-64)
- 批量化传入信息,

- 这边必须return

- 构造函数(64)
- 使用同一个构造函数创建的对象,我们称为一类对象,也将一个构造函数称为一个类,我们将通过一个构造函数创建的类称为该类的实例。(per是Person类的实例,per2也是Person类的实例)

- instanceof 是来检查一个对象是否是一个类的实例,如果是则返回true否则返回false

- instanceof 是来检查一个对象是否是一个类的实例,如果是则返回true否则返回false
- 构造函数修改(65)
- 在Person构造函数中,为每一个对象都添加了一个satName方法,目前我们的方法是在构造函数内部创建的,也就是构造函数每执行一次,就会创建一个新的sayName方法。
- 这就导致了构造函数执行一次就会创建一个新的方法,执行一万次就会创建一万个新的方法,而一万个方法都是一模一样的,这是完全没有必要的,完全可以使所有的对象共享一个方法。
- 下图为创建多个方法,输出为false

- 这里把方法放在全局作用域中,可以一直调用,并且是共享的。输出为true

- 这就导致了构造函数执行一次就会创建一个新的方法,执行一万次就会创建一万个新的方法,而一万个方法都是一模一样的,这是完全没有必要的,完全可以使所有的对象共享一个方法。

浙公网安备 33010602011771号