前端
基础易错题(一)
案例一::介绍js原型链继承原理,以及prototype和--proto--的区别!
1.任何一个构造函数都有一个属性prototype叫做构造函数的原型,是一个对象,并且该对象默认情况下指向Object实例,constructor指向当前构造函数,--proto--指向Object.protopyte.
2.使用构造函数实例化的对象存在一个--proto--属性,指向当前构造函数的prototype。
3.当我们调用实例对象的属性和方法时,先在自身上面进行查找【自己身上是在构造函数内部通过this定义出来的属性和方法】,如果自身上面没有。则沿着--proto--去找构造函数的prototype上面查找,我们把沿着--proto--查找称之为原型继承。
4.在查找的过程中,沿着--proto--先去自己构造函数的prototype查找,如果找到则返回,如果找不到默认情况回继续沿着--proto--去Object.prototype上面查找,这种查找的行为。我们称之为 “原型链查找” 。 沿着--proto--形成的链条,我们称之为“原型链继承”。
案例二::js对象和jquery对象有什么区别以及如何转化??
js对象和jq对象是key-value键值对的无序集合,
区别:
1.jq对象是对原生DOM对象的一个封装
2.jquery内部为jq对象封装很多有用的属性和方法
3.jq对象不能去调用原生的DOM属性和方法
转化:
jq对象转化为DOM对象
1. $("#box").get(0); $("#box")得到的是jquery封装的对象,里面提供了jquery的一些方法,并不是html原生对象,通过get(0)才能取到jquery对象里面关联的html对象,从而操作html对象的属性和方法。
2. $(#box)[0];
DOM对象转化jq对象的好处
1.jq对象很多好用的方法
2.兼容性的问题
3.开发效率
案例三::说一说$.extend 与 $.fn.extend()的使用方法,和有什么不同!!
$.extend() 是扩充工具方法
$.fn.extend()这个是jQuery里面构造函数的原型
小编将陆续为大家答疑解惑!!
原文地址:https://www.cnblogs.com/hudunyu/p/11366951.html