位置: 编程技术 - 正文

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

  • 附加税做账交多了如何冲回
  • 什么是税收制度构成要素的中心环节
  • 公司租用其他公司车辆能报销保险费吗,发票怎么开
  • 实际发放股票股利是什么意思
  • 股东参与经营可以分红吗
  • 增值税纳税申报表怎么填
  • 工伤职工应享有的待遇及救济途径
  • 小企业商品销售的入账价格
  • 出售股份的印花税怎么做分录?
  • 在租赁的土地上建房产权归谁
  • 冲销主营业务收入后导致发生额变大
  • 顾客办理会员卡要退怎么办
  • 事业单位收个人部分社保怎么入账
  • 出售无形资产属于让渡资产使用权吗
  • 佣金支付方式有哪几种
  • 经济纠纷的解决途径包括哪些
  • 年会费用的会计分录
  • 企业税收扣除标准
  • 免税发票可以抵多少税
  • 增值税已交税金什么情况下使用
  • 个人所得税减免申请
  • 汇兑差额会计处理
  • 公司贷款评估费的做账
  • 递延所得税年初数和期末数
  • 税金当月计提当月缴纳
  • 银行回单箱费会扣吗
  • 电脑中了勒索病毒要报警吗
  • dll缺失怎么修复
  • 苹果电脑macbookpro使用教程
  • 公司筹建期间发生的业务招待费,如何税前扣除
  • 公司股权转让的印花税谁来承担
  • mac的快捷键在哪
  • service.exe是什么进程
  • 企业实际缴纳税款额账务怎么看
  • 员工报销电话费缴纳个税
  • 一般纳税人销售旧货适用征收率是?
  • typescriptlang
  • 什么是长期应付票据
  • 企业退税要用税吗
  • 金蝶软件怎么查银行科目明细
  • 财务咨询公司能出尽调报告吗
  • 企业所得税算法例题解析
  • centos下编写贪吃蛇吗
  • python多线程处理excel
  • 电子发票查询真伪
  • 企业变更法人的原因怎么写
  • mysql数据库排序
  • android 矩阵运算
  • 生产企业的模具费用计入什么科目
  • 预缴税款是什么税款
  • 简易计税开具的发票取得的进项可以抵扣嘛
  • 工资代发户怎么开
  • 实收资本有关会计科目
  • 购买方已认证销售方作废
  • 公司中标
  • 预收款退回怎么处理
  • 贴现到期后
  • 报关单新版
  • 什么企业可以开培训费发票
  • 期末账面余额是什么意思
  • 如何删除win10系统
  • xp系统注册表空白怎么办
  • xp系统怎么弄成win7
  • win7未能启动怎么办
  • 电脑系统 win7
  • unity输入中文
  • jquery1
  • 网页使用的字体中最具可读性.最易浏览的是
  • div-css
  • js经典实例
  • js正则表达式写法
  • jqueryui easyui
  • jQuery simplePage+AJAX plus分页插件用法实例
  • javascript要怎么学
  • 如何查询个体工商户是查账征收还是核定征收
  • 社保和税局关联后还要申报吗
  • 小规模纳税人企业所得税怎么征收
  • 内蒙古国家税务总局官网
  • 晋江电视
  • 江苏省高中教师资格证考试科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设