javascript进阶-4天高级课程note js4.pptx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

JavaScript进阶-第4天了解函数中this在不同场景下的默认值,动态指定函数this的值,提升代码封装的灵活度。能够区分不同场景下函数中this的默认值知道箭头函数的普通函数的区别,掌握箭头函数的使用能够动指定函数中this的值了解基于类的面向对象的实现语法

this了解函数中this在不同场景下的默认值,知道动态指定函数this值的方法。默认值普通函数箭头函数

封装普通函数普通函数的调用方式决定了this的值,即【谁调用this的值指向谁】注:普通函数没有明确调用者时this值为window,严格模式下没有调用者时this的值为undefined。

箭头函数箭头函数中的this与普通函数完全不同,也不受调用方式的影响,事实上箭头函数中并不存在this!箭头函数中访问的this不过是箭头函数所在作用域的this变量。在开发中【使用箭头函数前需要考虑函数中this的值】,事件回调函数使用箭头函数时,this为全局的window,因此DOM事件回调函数不推荐使用箭头函数同样由于箭头函数this的原因,基于原型的面向对象也不推荐采用箭头函数

CallapplyBind定义值以上归纳了普通函数和箭头函数中关于this默认值的情形,不仅如此JavaScript中还允许指定函数中this的指向,有3个方法可以动态指定普通函数中this的指向:

call总结:call方法能够在调用函数的同时指定this的值使用call方法调用函数时,第1个参数为this指定的值call方法的其余参数会依次自动传入函数做为函数的参数语法:函数.call(this,arg1,arg2……)使用call方法调用函数,同时指定函数中this的值

总结:apply方法能够在调用函数的同时指定this的值使用apply方法调用函数时,第1个参数为this指定的值apply方法第2个参数为数组,数组的单元值依次自动传入函数做为函数的参数语法:函数.apply(this,[arg1,arg2]);apply使用apply方法调用函数,同时指定函数中this的值

bindbind方法并不会调用函数,而是创建一个指定了this值的新函数注:bind方法创建新的函数,与原函数的唯一的变化是改变了this的值。改变this三个方法总结call:fun.call(this,arg1,arg2,......)apply:fun.apply(this,[arg1,arg2,......])bind:fun.bind(this,arg1,arg2,......)相同点: 都可以用来改变this指向,第一个参数都是this指向的对象区别: call和apply:都会使函数执行,但是参数不同 bind:不会使函数执行,参数同call

传统面向对象的编程序语言都是【类】的概念,对象都是由类创建出来,然而早期JavaScript中是没有类的,面向对象大多都是基于构造函数和原型实现的,但是ECMAScript6规范开始增加了【类】相关的语法,使得JavaScript中的面向对象实现方式更加标准。class了解JavaScript中基于class语法的面向对象编程,为后续课程中的应用做好铺垫。

script//创建类classPerson{ //此处编写封装逻辑}//实例化letp1=newPerson();console.log(p1);/script封装class(类)是ECMAScript6中新增的关键字,专门用于创建类的,类可被用于实现逻辑的封装。

总结:关键字class封装了所有的实例属性和方法类中封装的并不是变量和函数,因此不能使用关键字let、const或var实例成员属性=值;

总结:static关键字用于声明静态属性和方法静态属性和方法直接通过类名进行访问静态成员static属性=值;

总结:constructor是类中固定的方法名constructor方法在实例化时立即执行constructor方法接收实例化时传入的参数constructor并非是类中必须要存在的方法构造函数创建类时在类的内部有一个特定的方法constructor,该方法会在类被实例化时自动被调用,常被用于处理一些初始化的操作。

extends是专门用于实现继承的语法关键字如果想要实现继承,用extends定义子类,去继承父类继承extends

子类构造函数中的super函数的作用是可以将子类实例化时获得的参数传入父类的构造函

您可能关注的文档

文档评论(0)

159****9610 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6044052142000020

1亿VIP精品文档

相关文档