位置: 编程技术 - 正文

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

  • 12366纳税服务平台官网
  • 耕地占用税的税目
  • 扣缴义务人和纳税人举例
  • 三个案例看清增值税即征即退?
  • 厂部固定资产折旧属于什么费用
  • 建筑业老项目如何界定
  • 小规模纳税人滚动累计
  • 小型微利企业季度申报
  • 如何做好服务 服务行业
  • 附加税退回分录
  • 外贸公司有国企吗
  • 以物抵债计税依据
  • 赠送给客户的产品发货单要填写单价?
  • 应付账款坏账处理分录怎么写
  • 贷款利息收入要减去支付利息支出吗
  • 公司分期付款买车可以抵税吗
  • 发票未到的库存商品如何做账
  • 单位自有车辆
  • 企业员工无偿使用合法吗
  • 商贸企业可以使用月末一次加权平均
  • 营改增后印花税计税依据文件
  • 小微企业免征增值税条件
  • 文化事业建设费减免政策
  • 计入成本的有哪些科目
  • 购买小汽车增值税发票金额开错
  • 中小企业货币资金内部控制案例
  • 废料出售收入
  • 居民小区人防设施主要是什么
  • win10要更新系统
  • 进项税和销项税怎么抵扣
  • php实现批量删除
  • PHP:oci_set_prefetch()的用法_Oracle函数
  • 电脑开机时进入bios界面快捷键
  • php getheader
  • php function
  • 发票报销的账务怎么处理
  • 交暖气费可以开单位发票吗
  • 其他收益如何核算成本
  • 漏记收入 罚款
  • openpose的输出
  • 企业所得税资产总额平均值怎么算
  • 一般企业预缴税额怎么算
  • 机票退票手续费新规定2023
  • 购买办公用品进项税额可以抵扣吗
  • 经营范围广告业务能开什么发票
  • 季报现金流量表可以不填吗
  • 盘盈盘亏怎么填写
  • 用现金购买股票分录
  • 混凝土增值税发票税率
  • 办公室购买电脑属于什么费用
  • 其他应付款的核算项目是什么
  • 企业预付账款是什么意思
  • 深入浅出意思
  • sql行变列有几种方法
  • 如何用win7
  • solaris 11.3
  • 宏基aspire s3适用固态硬盘
  • jucheck.exe
  • 电脑无法检测到麦克风怎么办
  • win10怎么关闭securboot
  • 双linux系统
  • linux 文件执行
  • linux charon
  • 只需2招 让Win10运行速度更加迅速
  • opengl基础知识
  • unity3ds
  • javascript如何调用
  • edit apps
  • shell中遍历数组
  • python把html页面生成图片
  • bat修改ip地址
  • nodejs基础知识
  • nodejs bull
  • opencv for linux
  • ubuntu如何下载
  • python 性能
  • python dict 转 list
  • 天津税务局投诉举报咨询电话
  • 个人限购
  • vat税怎么做分录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设