当前位置: 首页 > news >正文

教育校园网站建设方案seo课程培训要多少钱

教育校园网站建设方案,seo课程培训要多少钱,网站建设使用的语言,郑州广告设计与制作公司目录 一、call 1、继承的子类可以使用父类的方法 2、可以接收任意参数 二、call、apply、bind比较 1、案例一 2、案例二 三、总结 这个三个方法都是改变函数的this指向的方法。 一、call 代码: const obj{uname:"pink"}function fn(){console.log…

目录

一、call

1、继承的子类可以使用父类的方法

2、可以接收任意参数

二、call、apply、bind比较

1、案例一

2、案例二

三、总结


这个三个方法都是改变函数的this指向的方法。

一、call

代码:

    const obj={uname:"pink"}function fn(){console.log(this)  //window}// 1. 调用函数fn()// 2. 改变 this 指向fn.call(obj)

打印:可以看到函数在非严格模式下this指向window, 通过call方法将this指向了obj 。

1、继承的子类可以使用父类的方法

    function Animal(){//this 指向小catthis.eat=function (){console.log("吃东西")}}function Cat(){//this指向小catAnimal.call(this)  //key words}let cat = new Cat();cat.eat()

终端打印:若没有Animal.call(this) 将Cat中的this指向Animal,cat对象也不会有eat方法,会报错

也可实现多继承

    function Animal(){this.eat=function (){console.log("吃东西")}}function Bird(){this.fly=function (){console.log("飞翔")}}function Cat(){Animal.call(this)Bird.call(this)}let cat = new Cat();cat.eat()cat.fly()

打印如下:

2、可以接收任意参数

第一个参数就是我们函数中的this需要指向的对象

    function sayName(a,b,c){console.log(a,b,c)console.log(this)}sayName.call(undefined,1,2,3)

打印:

二、call、apply、bind比较

1、案例一

 let obj={name:"Jack"}function fun01(){console.log(this,this.name)}fun01.call(obj)

打印:可以看到,调用fun01调用call以后fun01的this就指向了obj的this,调用this的属性时也调用的是obj的了。

类似地,我们将call换成apply,

    let obj={name:"Jack"}function fun01(){console.log(this,this.name)}fun01.apply(obj)

打印:这里和call效果一样,都立即执行了。

再换成bind,并没有立即执行

    let obj={name:"Jack"}function fun01(){console.log(this,this.name)}fun01.bind(obj)

案例一,我们可以得出,call和apply都是立即执行的,而bind并不会调用立即执行。

2、案例二

    let obj={name:"Jack"}function fun01(age,sex){this.age=agethis.sex=sexconsole.log(this,this.name,this.age,this.sex)}fun01.call(obj,18,"female")

打印

    let obj={name:"Jack"}function fun01(age,sex){this.age=agethis.sex=sexconsole.log(this,this.name,this.age,this.sex)}fun01.apply(obj,[18,"female"])

打印:这里可以看到call和apply效果相同,传入参数不同,apply传人的参数是数组,而call的参数是已逗号隔开的,并将这两种方法都会立即执行

    let obj={name:"Jack"}function fun01(age,sex){this.age=agethis.sex=sexconsole.log(this,this.name,this.age,this.sex)}console.log(fun01.bind(obj,18,"female"))fun01.bind(obj,18,"female")()

打印:bind不会立即执行,而是返回新函数对象,需要再调用函数对象再打印

三、总结

1、call、apply、bind方法都可以改变this的指向,可以配合this使用,实现继承的效果。

2、call、apply都是调用后会立即指向的,但区别在于call传入的参数的逗号隔开的,而apply传入的参数是数组。

3、bind调用后不会立即执行函数,而是返回一个新的函数,需要调用才能执行。

http://www.hkea.cn/news/469686/

相关文章:

  • 导航网站 cmsgoogle chrome谷歌浏览器
  • wordpress看其他人博客优化师是做什么的
  • 现在哪个网站还做白拿2021小说排行榜百度风云榜
  • 网站流量seo提升seo排名的方法
  • 做html网站模板下载地址网站页面布局和样式设计
  • 公司网站邮箱费用磁力宅在线搜种子
  • wordpress 缺少临时文件夹刷关键词优化排名
  • 做网站要有什么团队淘宝关键词排名查询工具
  • 开源门户网站源码宁波谷歌seo
  • wordpress+一页一屏seo关键技术有哪些
  • 学校校园网站建设实施方案精准营销的案例
  • 腾讯云服务器可以做网站可以推广发广告的app
  • seo外链友情链接网站运营推广选择乐云seo
  • 做网站 要学 什么语言网站优化公司
  • 天乐测绘网做网站吗搜索引擎广告图片
  • 湖南营销型网站建设多少钱百度关键词优化软件网站
  • 怎样给网站做关键词优化百度词条
  • 做网站哪个平台搭建网站需要什么技术
  • 做gif图的网站简述网络营销的主要方法
  • 做图网站被告seo视频网页入口网站推广
  • 做的网站底部应该标注什么意思免费文案素材网站
  • 企业网站搜索引擎拓客农夫山泉软文300字
  • 青岛黄岛区网站开发武汉seo优化
  • 东莞做网站企业铭会员制营销
  • 做网站设计工资多少钱优化教程网官网
  • 计算机网站建设与维护百度关键词统计
  • wordpress网站实现微信登录google google
  • 网站建设 零基础网站关键词如何优化
  • 如何撤销网站上信息app网站
  • 单页式网站系统每日新闻摘要30条