1、当鼠标点击或触发dom事件,触发dom事件的元素称为事件源。2、浏览器会从根节点=>事件源(从外到内)传播事件。3、不太具体的节点应该更早接收到事件,最具体的节点应该最后接收到事件。实例<divid="s2">s2</div> </div> <script> s1.addEven
2023-02-261、事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。2、当一个元素接收到事件后,会沿着DOM结构将事件逐层传递到其父元素上。实例<bodyid="body"> <divid="box1"> <divid="box2"> <spanid="span">Thisisaspan.</
2023-02-261、变量作用域主要分为全局作用域、局部作用域和块级作用域。相应的变量是全局变量(声明在所有函数之外)、局部变量(函数体内声明的变量或函数的命名参数)和块级变量(在块中声明只在块中有效)。2、使用var声明的变量作用域有全局作用域和
2023-02-261、访问第一个对象是当前作用域对象,下一个对象来自外部环境,即父作用域对象。2、下一个变量对象来自下一个包含环境,即祖父作用域对象。以此类推,一直延续到作用域链中的最后一个对象,全局作用域对象。实例 varname="TheWindow"; varob
2023-02-261、可以构建一个Node类来描述链表中的节点。这一类有两个属性,一个用来保存节点的值,另一个用来保存指向下一个节点的指针。letNode=function(element){ this.element=element; this.next=null; };2、构建链表的基本骨架,实际上是链表类和相
2023-02-261、实现indexOf方法,将给定元素返回链表中的索引位置。indexOf(element){ //从链表的头部开始遍历,直到找到和给定元素相同的元素,然后返回对应的索引号。如果没有找到对应的元素,则返回-1。 letcurrent=this.head; for(leti=0;i<this.length
2023-02-261、判断位置不能超过边界,即索引不能小于零或大于链表的长度,否则返回false。2、需要判断索引是否为0。如果索引为0,则表示添加到头部。将新节点的next指针指向当前的head,然后更新head的值为新插入的节点。实例insert(position,element){ //p
2023-02-261、删除操作removeAt需要判断索引边界和具体添加位置。2、若要删除的节点是链表的头部,只需将head移动到下一个节点即可。如果目前链表只有一个节点,那么下一个节点是null。将head指向下一个节点相当于将head设置为null,删除后链表为空。若要
2023-02-261、构造函数有原型对象,原型对象有指针指向结构函数,每个实例都有内部指针指向原型对象。2、Father通过new给Children的原型对象赋值一个实例,从而实现Children继承Father。实例//父构造函数 functionFather(){ this.name="father" this.hous
2023-02-261、默认情况下,所有引用类型值都继承了Object,这种继承也是通过原型链实现的。2、所有函数的默认原型都是Object的实例,所以默认原型包含一个内部指针,指向Object.prototype。实例//父构造函数 functionFather(){ this.name="father" this.hou
2023-02-261、有时候子类型需要重写超类型的方法。如果子类型重写的方法写在更换原型之前,继承的超类型方法会覆盖子类型定义的方法,重写无效。2、子类型的重写方法需要在更换原型后。实例//父构造函数 functionFather(){ this.name="father" this.hou
2023-02-261、不是原型链继承,只是借用构造函数,所以不能继承原型的属性和方法。2、虽然构造函数中定义的属性和方法是可以访问的,但是每个实例都被复制了。如果例子太多,方法太多,占用内存很大,那么方法就在构造函数中定义,函数的复用就无从谈起。实例//父
2023-02-26发布日期:2023-08-07人气:0
发布日期:2023-08-07人气:0
发布日期:2023-08-07人气:0
发布日期:2023-08-08人气:0
发布日期:2023-08-08人气:0
发布日期:2023-08-10人气:0
发布日期:2023-08-10人气:0