位置: 编程技术 - 正文

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

  • 资产损失税前扣除及纳税调整明细表
  • 汇算清缴需要做分录吗
  • 增值税发票验真伪怎么验
  • 税金及附加属于管理费用吗
  • 三免三减半如何申报企业所得税
  • 个人所得税分摊方式月扣除金额修改
  • 累计个税是每年累计吗
  • 报关单汇率按出口日期还是申报日期
  • 缴纳销项税额要交税吗
  • 损益表上的数据怎么看
  • 库存现金限额的概念
  • 购买方丢失未认证发票 怎么办
  • 持有至到期投资是什么意思
  • 定期存款准备金是什么
  • 运费开进发票
  • 专门从事研发的企业研发费用可以加计扣除吗
  • 销售礼盒增值税税率
  • 纳税人签字
  • 税控系统全额抵扣增值税申报
  • 固定资产减值准备属于什么科目
  • 原始凭据
  • 租金税率9%和5
  • 农产品零税率
  • 环保税优惠问题
  • 刚成立的工业企业如何具体设计和考虑成本项目处理?
  • 汇算清缴的租赁费怎么算
  • 怎么授权gg修改器root权限
  • 工程筹建期间发票怎么开
  • 公司的职工教育是指什么
  • 公司预交一年的养老保险
  • 工资和薪金是一回事吗
  • php用户登录用的什么技术
  • 如何在qq好友旁边打字
  • 在企业所得税前扣除的有哪些
  • dotnetfx.exe
  • 股东权益增加额/期初净经营资产
  • dae是什么文件
  • 如何确定销售数量
  • 鹤望兰的养殖方法和注意事项浇水
  • phpunicode
  • 珠穆朗玛峰的壮观
  • 存货的采购成本包括
  • 马拉喀什的历史背景
  • 会计等式反映了六大会计要素的恒等关系
  • 企业所得税应纳税所得额300万以下
  • 计入固定资产的条件
  • 挂靠方项目部账务是否并入被挂靠方公司账务?
  • 发票明细清单怎么打印
  • 个税扣错了申请退税
  • 补缴以前年度附加税怎么申报
  • 新公司成立后税务方面有哪些流程2023
  • 增值税纳税人放弃免税权的规定
  • 企业当期营业收入的计算
  • 长期股权投资稀释股权的两种
  • 财务费用多计怎么做账
  • 补缴以前年度所得税及滞纳金账务处理
  • 房地产企业怎么交房产税
  • 有支出没有发票应怎么整改
  • 扣税时账上没钱怎么办
  • 行政单位维修管理制度
  • 供应合同转让协议
  • 预收货款未发货怎么办
  • 营业外支出如何做账
  • sql中将数据放到另一个表中
  • 按关键字13,24,37,90,53,34
  • MySql 5.6.35 winx64 安装详细教程
  • 如何设置linux
  • linux下xhost命令报错:unable to open display的解决办法
  • reg注册表格式文件
  • windows的服务怎么打开
  • 如何打开音量控制器
  • win10一年更新几次
  • jquery 上传进度
  • android新手入门
  • 从零开始学什么好
  • grade 编译
  • 内蒙古包头税务局客服电话
  • 张宁年轻
  • 广西纳税申报流程
  • 资源税的定义是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设