摘要: <body> <!-- 1.将函数作为另一个函数的返回值 2.将函数作为实参传递给另一个函数调用 --> <script> //1.将函数作为另一个函数的返回值 function fn1(){ var a = 2 function fn2(){ a++; console.log(a) } retur 阅读全文
posted @ 2019-10-22 17:27 燕子fly 阅读(785) 评论(0) 推荐(0) 编辑
摘要: <body> <!-- 方式2:借用构造函数继承(假的) 1.套路: 定义父类型构造函数 定义子类型构造函数 在子类型的构造函数中调用父类型构造 2.关键 1.在子类型构造函数中通过call()调用父类型构造函数 --> <script> function Person(name,age){ this.name = name this.age = age } Person.prototype.se 阅读全文
posted @ 2019-10-22 16:29 燕子fly 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 重点:用.call()和.apply()将父类构造函数引入子类函数(在子类函数中做了父类函数的自执行(复制)) 特点:1、只继承了父类构造函数的属性,没有继承父类原型的属性。 3、可以继承多个构造函数属性(call多个)。 4、在子实例中可向父实例传参。 缺点:1、只能继承父类构造函数的属性。 2、 阅读全文
posted @ 2019-10-22 16:28 燕子fly 阅读(145) 评论(0) 推荐(0) 编辑
摘要: <body> <!-- 重点:让新实例的原型等于父类的实例。 特点:1、实例可继承的属性有:实例的构造函数的属性,父类构造函数属性,父类原型的属性。(新实例不会继承父类实例的属性!) 缺点:1、新实例无法向父类构造函数传参。 2、继承单一。 3、所有新实例都会共享父类实例的属性。(原型上的属性是共享 阅读全文
posted @ 2019-10-22 16:18 燕子fly 阅读(222) 评论(0) 推荐(0) 编辑
摘要: <body> <!-- 1。如何产生闭包? *当一个嵌套的内部(子)函数引用嵌套的外部(父)函数的变量(函数)时,就产生了闭包 2.闭包到底是什么? 使用chrome调试查看 理解一:闭包是嵌套的内部函数(绝大部分人) 理解二:包含被引用变量(函数)的对象(极少数人) 注意:闭包存在于嵌套的内部函数 阅读全文
posted @ 2019-10-22 11:22 燕子fly 阅读(135) 评论(0) 推荐(0) 编辑