位置: 编程技术 - 正文

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

  • 暂时进出境货物和暂准进出境货物
  • 增值税的附加税有几个
  • 增值税税差怎么算
  • 冲减营业税金及附加的分录
  • 想要自己开厂应该怎么做
  • 权益筹资额计算公式
  • 委托加工什么时候代收代缴消费税
  • 员工报销增值税
  • 非独立核算不用做核算吗
  • 私车公用油费计入什么科目
  • 股票内在价值计算公式中级财务管理
  • 股东未发工资可否提出仲裁
  • 物资包括材料吗
  • 进项税加计抵扣分录
  • 税务罚款计入哪个会计科目
  • 应付职工薪酬的贷方表示什么
  • 大学期末 知乎
  • 招财树的养殖方法
  • 高端显卡排名
  • php在线阅读器源代码
  • wordpress用什么语言编写
  • php能开发微信小程序吗
  • 圣托里尼岛具体位置
  • 风险敞口是指什么
  • js返回上一步操作
  • 企业所得税季度预缴是什么意思
  • 损益类账户怎么做会计分录
  • php对接第三方支付
  • ajax可以在静态页面
  • 企业办理退税,税务机关要检查吗
  • 汽车维修费发票怎么开
  • php调用网址
  • 购销合同印花税最新政策2023
  • 员工垫付公司的保险费
  • python分割语句
  • 电子商务公司怎么做账比较合适
  • 企业贷款贴息怎么做账
  • 织梦标签工具
  • mongodb4.4.2安装教程
  • linux mongodb基本操作
  • 发票专用章刻制
  • 对方开给我的专票,我要报税吗?
  • 财务报表里的现金流量表括号是什么意思
  • 结转成本是什么凭证
  • 社保比例调整了吗
  • 民办非盈利组织注销了在哪登报
  • 农村土地征用补偿价格
  • 固定资产的类别
  • 厂房鉴定费的账户是什么
  • 纳税人为风险纳税人怎么办
  • 应收的借方和应付的贷方相等
  • 2020年专项扣除怎么填
  • 外账进销存单据是怎么弄的?
  • 什么是资产处置收益
  • 物流公司的会计怎么样
  • 会计凭证编制程序和用途
  • 办公用品的发票可以抵扣吗
  • 企业整个月没有缴纳社保
  • 在sql中使用where子句指出的是
  • centos 安装chia
  • linux ioctrl
  • win10任务栏位置怎么改变
  • win7 64位系统使用360安全浏览器在网页中播放视频出现花屏的解决方法
  • win10内置管理员账户禁用
  • win7怎么修改开机启动
  • TestOpenGL
  • 网页设计css文字居中
  • perl sub
  • shell脚本怎么导出
  • node.js实战
  • 判断文件是否存在 java
  • shell删除一个文件
  • web开发 java
  • js匿名函数和箭头函数
  • 噩梦 1-4
  • JavaScript 中的事件教程
  • Android java.lang.IllegalArgumentException: pointerIndex out of range
  • json python 字段读取
  • js如何定义类
  • 辽宁地方税务网站官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设