位置: 编程技术 - 正文

apply和call方法定义及apply和call方法的区别(call和apply用法)

编辑:rootadmin

推荐整理分享apply和call方法定义及apply和call方法的区别(call和apply用法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:call方法和apply的区别,call方法和apply的区别,call和apply的this指向,call方法和apply的区别,call方法和apply的区别,call方法apply方法bind方法,call和apply用法,call方法和apply的区别,内容如对您有帮助,希望把文章链接给更多的朋友!

 如果没接触过动态语言,以编译型语言的思维方式去理解javaScript将会有种神奇而怪异的感觉,因为意识上往往不可能的事偏偏就发生了,甚至觉得不可理喻.如果在学JavaScript这自由而变幻无穷的语言过程中遇到这种感觉,那么就从现在形始,请放下的您的”偏见”,因为这对您来说绝对是一片新大陆。好了,不给大家唠嗑了,言归正传吧,先给大家讲下apply和call方法的定义。

具体内容如下所示:

1、方法定义

call, apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例,也就是每个方法都有call, apply属性.既然作为方法的属性,那它们的使用就当然是针对方法的了.这两个方法是容易混淆的,因为它们的作用一样,只是使用方式不同.

call方法:

语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]])

定义:调用一个对象的一个方法,以另一个对象替换当前对象。

说明:

call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。

如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。

apply方法:

apply和call方法定义及apply和call方法的区别(call和apply用法)

语法:apply([thisObj[,argArray]])

定义:应用某一对象的一个方法,用另一个对象替换当前对象。

说明:

如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。

如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数

call, apply作用就是借用别人的方法来调用,就像调用自己的一样.

它们的不同之处:

apply:最多只能有两个参数——新this对象和一个数组 argArray。如果给该方法传递多个参数,则把参数都写进这个数组里面,当然,即使只有一个参数,也要写进数组里面。如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。

call:则是直接的参数列表,主要用在js对象各方法互相调用的时候,使当前this实例指针保持一致,或在特殊情况下需要改变this指针。如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。

更简单地说,apply和call功能一样,只是传入的参数列表形式不同:如 func.call(func1,var1,var2,var3)对应的apply写法为:

func.apply(func1,[var1,var2,var3])

如:

以上内容是小编给大家介绍的apply和call方法定义及apply和call方法的区别,希望大家喜欢。

深入浅析JavaScript中prototype和proto的关系 prototype,每一个函数对象都有一个显示的prototype属性,它代表了对象的原型(Function.prototype函数对象是个例外,没有prototype属性)。__proto__:每个对象都有一个

javascript中window.open在原来的窗口中打开新的窗口(不同名) 最近做一个JSP网页要求打开一个没有菜单工具栏的IE,想到用window.open来打开。但是发现如果先前打开的窗体没有关掉,在打开一个窗体的时候就会在先

详解JavaScript函数对象 函数函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。functionOne(leve,leve){//codereturnleve+leve}注释:形参不需要加上类型;return语句为可

标签: call和apply用法

本文链接地址:https://www.jiuchutong.com/biancheng/384602.html 转载请保留说明!

上一篇:JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系

下一篇:深入浅析JavaScript中prototype和proto的关系(深入浅析是什么意思)

  • 城市维护建设税优惠政策
  • 进项税额转出意思是下月还得缴吗
  • 其他债权投资的交易费用计入哪里
  • 政府补助是属于什么财务活动
  • 医院工作服记什么科目
  • 收到发票未付款怎么处理
  • 劳保如何入账
  • 以库存现金付讫
  • 空白增值税专用发票丢失罚款
  • 所得税汇算清缴退税会计分录怎么做
  • 公司自建厂房需要缴纳哪些税
  • 原材料的运输费怎么做会计分录
  • 国外公司进口能退税吗
  • 出口企业增值税优惠政策
  • 什么是差额征税,什么情况下适用差额征税
  • 税控盘有什么作用
  • 国家税务总局公告2012年第57号
  • 案例分析个人心得体会
  • 六税两费减半征收政策2022
  • 季报表利润表本月怎么算
  • 在建工程暂估入库的账务处理
  • 暑假工需要什么条件
  • 暂估成本后第二年收到发票怎么做账
  • 小规模通行费发票可以抵扣吗
  • 公司购买的机票赔偿可以退公司嘛
  • 政府拨款经费会计分录
  • 厂区道路施工步骤
  • linux环境什么意思
  • win11系统打不出顿号
  • Window7+CentOS 6.5双系统安装图文方法
  • php教程 ftp 函数
  • PHP:pg_fetch_result()的用法_PostgreSQL函数
  • 数字马力前端笔试题rgb
  • layui iconfont
  • 商业零售企业存货非正常损失
  • 收到质量赔款做什么会计科目
  • 注册资金不能到位怎么办
  • thinkphp 模块
  • 境外服务费代扣代缴所得税
  • vue技术解密
  • react+
  • css点击菜单显示内容
  • python中列表清空
  • 计提营业税金及附加比例
  • 甲供材料总额法和差额法
  • 增值税起征点适用于哪些
  • 一般纳税人劳务费税率是多少2023
  • 水利建设基金应税项是什么
  • 以前年度损益调整在利润表中怎么填
  • 代扣代缴的增值税算进项税吗
  • 递延所得税负债会计分录
  • 权益净利率如何分析
  • 预收账款处理
  • 运费可以抵扣进项税额
  • 工程竣工后发生工程的保修费用入哪个科目?
  • 与其他公司合伙协议书
  • 员工福利费怎么写分录
  • 会计账簿的更换和保管有哪些要求
  • 会计中的记账是什么意思
  • win7支持net.framework4.7.2
  • win7系统重启后多了一个安全启动用户
  • Win10预览版拆弹
  • linux限制用户登录
  • centos 6.5安装教程
  • win8触摸板失灵怎么办
  • win10 mobile 1709
  • centos 软件源
  • win7 64位旗舰版电脑如何提高鼠标的精准度?提高鼠标的精准度的方法
  • cocos2d怎么创建项目
  • jquery animation
  • shell if-z
  • 备份mbr引导
  • 如何使用jquery插件
  • android自动开关机失效
  • unity热更新方案
  • json数据格式的理解
  • 重庆购房退契税
  • 乐陵到德州多远距离
  • 四川省地方税务局关于城镇土地使用税困难减免
  • 土地增值税采取什么税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设