- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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函数的作用是可以将子类实例化时获得的参数传入父类的构造函
您可能关注的文档
- 广东省广东实验中学2024_2025学年高一历史下学期期中试题选择考.doc
- 广东省2024高考英语学业水平合格考试总复习第3部分学考题型强化题型2阅读理解教师用书教案.doc
- 新疆生产建设兵团第四师第一中学2024_2025学年高二地理上学期期中试题.doc
- 河南省名校联盟2025届高三语文11月教学质量检测试题含解析.doc
- 广东省广州市普通2025届高三英语综合测试试题一含解析.doc
- 广东省中山市2024_2025学年八年级物理上学期期末考试试题.docx
- 广东省2025届高三英语下学期综合能力测试题五.doc
- 广东省惠来县第一中学2024_2025学年高一地理下学期第一阶段考试试题.doc
- 河北省石家庄市元氏县第四中学2024_2025学年高二数学上学期第一次月考试题含解析.doc
- 新教材2024高中英语Unit5MusicSectionⅢDiscoveringUsefulStru.doc
- 浙江省金华市曙光学校2024_2025学年高一历史上学期期中试题.doc
- 河南省新乡市卫辉市高级中学2024_2025学年高一历史下学期第一次调研考试试题含解析.doc
- 江苏省苏州新草桥中学2024_2025学年高一历史下学期6月月考试题.doc
- 广东省广州市广东实验中学2025届高三生物下学期线上考试试题含解析.doc
- 广东省廉江市实验学校2024_2025学年高二历史下学期第七次限时训练试题A班.doc
- 通史版2025届高考历史大一轮总复习课时作业8“百家争鸣”和汉代儒学成为正统思想含解析.doc
- 陕西省铜川市一中2025届高三生物八模试题含解析.doc
- 河北省衡水市桃城区第十四中学2024_2025学年高一历史下学期期末考试试题.doc
- 江西省宜春市2024_2025学年高一化学下学期第七次月考试题4月.doc
- 陕西省宝鸡市金台区2024_2025学年高二政治上学期期中试题.doc
文档评论(0)