位置: 编程技术 - 正文

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的关系(深入浅析是什么意思)

  • 税务师考试各科老师推荐
  • 缴纳附加税会计科目怎么做
  • 企业所得税是什么税
  • 特殊性税务处理所得税怎么算
  • 个体工商户网上注销
  • 劳务派遣公司如果倒闭了怎么办
  • 增值税专用发票可以开电子发票吗
  • 公司账户的钱怎么取出来
  • 房产折旧计算方法 举例
  • 现金折让怎么做会计分录
  • 赞助支出为什么不算广告费
  • 企业所得税以前年度亏损怎么弥补
  • 对公账户进账是否缴税
  • 核销的方式
  • 电子普通发票入账规则
  • 再生资源税率多少合理
  • 两年内到期的应付票据
  • 普通发票每个月有限制吗
  • 培训过程中出现的问题及解决办法
  • 核算错误和重分类错误
  • 在会计中加速折旧的方法
  • 消费型增值税的特点的是( )
  • 先进行税务登记还是先注册开户银行账号
  • 商业承兑汇票是谁签发的
  • 销售技巧培训课程
  • 发放员工过节费
  • 王者荣耀中扁鹊的克星是谁
  • 企业原材料成本有哪些
  • 删掉广告有什么办法
  • 残疾人保障金汇算清缴填在哪里
  • 电脑开机弹出很多广告窗口怎么办win10
  • PHP:curl_file_create()的用法_cURL函数
  • PHP:pg_select()的用法_PostgreSQL函数
  • 最保值的ipad
  • 付临时工资怎么入账
  • 出口退税进项发票稽核
  • 人民币账户购汇支付
  • 存货出入库的账务处理
  • 手把手教你用气焊视频
  • 帝国cms会侵权吗为什么
  • 不良贷款转让怎么操作
  • 公司购入车辆的增值税怎么算
  • 进项税需要转出的分录
  • 固定资产原值和净值的区别
  • 入库材料计入什么科目
  • 开具利息收入发票需不需要有经营范围
  • 汇算清缴费用调整怎么做账
  • 房贷利息抵个税怎么申请
  • 收到捐赠的账务处理和涉税处理
  • 期初建账库存现金如何填写
  • 民办非企业单位什么意思
  • 营改增后服务业账务处理
  • 购入固定资产的会计科目
  • 其他应付款长期挂账违反什么规定
  • 其他业务支出包括哪些内容科目
  • 货款已付对方不发货的案例分析
  • win10禁用windows键
  • ubuntu注册用户
  • linux系统转换为win系统脚本
  • centos7 tcp6
  • spool.exe - spool是什么进程
  • macbook qq截图存在哪
  • xboxone系统更新错误
  • 天气应用程序(weather)app免费下载
  • 电子版win10怎么安装
  • linux删除一个非空子目录命令
  • 轨迹球怎么调出来
  • python下载百度云文件
  • 代码的历史
  • shell监控文件
  • android 刷新view
  • color 对于当前会话,更改命令提示窗口的前景和背景色
  • javascript基础题目
  • javascript工作
  • jquery单选框
  • eclipse自动生成
  • 医保已申报未缴费可以撤销申报吗
  • 企业所得税核定征收和查账征收的区别
  • 车船使用税2021
  • 自然人扣缴端怎么申报个税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设