位置: 编程技术 - 正文

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

  • 缴纳上一年所得税附件是哪些科目
  • 建筑业增值税税负预警
  • 税务筹划的基本前提是
  • 税负统计口径
  • 高档珍珠镶嵌
  • 现代服务税目包含哪些
  • 软件使用权收入怎么计算
  • 公司开户费用都包括哪些
  • 公司租房水电费如何入帐
  • 研发支出的材料费
  • 新会计准则下长期股权投资的变化
  • 注册商标怎么做账
  • 房地产开发企业预缴增值税
  • 企业自建厂房转让如何计算增值税
  • 待摊费用跨年冲销如何入账?
  • 库存半成品属于什么会计科目
  • 房租收入应该计入什么
  • 饭店购买厨房用具分录
  • 跨地区预缴税款需缴纳哪些
  • 劳务发票需要身份证原件吗
  • 转出未交增值税怎么算
  • 2021年税控升级最新版本怎么升级
  • 商贸企业开票进出型号不一致
  • 全面营改增后,某房地产开发企业需要缴纳哪种税,为什么
  • 出租房产如何交土地使用税
  • 免税单位无租使用房产怎么缴纳房产税
  • 去国外参加展会带什么东西
  • 收到其他公司的投资款计入什么科目
  • 公司已开票给客户,但客户未打款怎么办?
  • 企业投资入股要交企业所得税吗
  • php文件打包下载
  • php图片加水印实例分析
  • 上月未开发票的销项税,已经申报缴税,在本月开了票,应该如何填报?
  • phpwechat
  • 刚刚学完小车可以学摩托车吗
  • 研发支出相关科目
  • 信用减值损失的借贷方向
  • java变量初始化的两种方式
  • 增值税加计抵减最新政策2022
  • 怎么盘存货
  • 文化传媒有限公司英文
  • 计划成本法实际成本怎么算
  • 股票手续费如何计算公式
  • 企业会计准则子公司
  • 其他应付款计入资产负债表哪个科目
  • 已认证发票是否已抵扣
  • 接受母公司捐赠现金分录
  • 2017年6月,小张买了一台笔记本电脑,其主要硬件参数
  • 行政事业单位零星维修相关规定
  • 金以旧换新合适吗
  • 增值税农产品免税
  • 销售收入指开票金额吗
  • 为什么零售业只进不出呢
  • 财税公司工作内容
  • sqlserver游标的使用
  • sql外连接
  • sql多表连接查询(详细实例)
  • linux转移文件代码
  • 在数据库中对数据表进行生成的是
  • mysql分区是什么意思
  • Fedora25踏上Wayland的路上讲解
  • 如何备份还原电脑系统
  • mssqlserver安装
  • openmpi编译
  • ubuntu 14.04.6
  • mac命令行窗口怎么打开
  • linux nc命令详解
  • win8开机进入开始界面
  • win10登录微软账户后进不去桌面
  • 学习的引子
  • python中pillow模块
  • cocos2d-x教程
  • nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
  • 安卓两个app
  • python 查找中文
  • jquery操作元素样式
  • javascript的基本语法
  • 关联企业业务往来税收调整
  • 电子税务局第一次申请发票流程
  • 房地产企业土地增值税怎么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设