位置: 编程技术 - 正文

js call方法详细介绍(js 的继承)(js中的call方法和apply方法)

编辑:rootadmin

call 方法请参阅应用于:Function 对象要求版本 5.5调用一个对象的一个方法,以另一个对象替换当前对象。

call([thisObj[,arg1[, arg2[, [,.argN]]]]])参数thisObj 可选项。将被用作当前对象的对象。 arg1, arg2, , argN 可选项。将被传递方法参数序列。 说明call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。

如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。

-------------------------------------------------------------------------------------------乍一看,很容易把人看迷胡,先做一些简单的说明obj1.method1.call(obj2,argument1,argument2)如上,call的作用就是把obj1的方法放到obj2上使用,后面的argument1..这些做为参数传入.

举一个具体的例子这个例子中的意思就是用 add 来替换 sub,add.call(sub,3,1) == add(3,1) ,所以运行结果为:alert(4); // 注意:js 中的函数其实是对象,函数名是对 Function 对象的引用。

看一个稍微复杂一点的例子注意,call 的意思是把 c1 的方法放到c2上执行,原来c2是没有showNam() 方法,现在是把c1 的showNam()方法放到 c2 上来执行,所以this.name 应该是 class2,执行的结果就是 :alert("class2");

怎么样,觉得有意思了吧,可以让a对象来执行b对象的方法,这是java程序员所不敢想的。还有更有趣的,可以用 call 来实现继承这样 Class2 就继承Class1了,Class1.call(this) 的 意思就是使用 Class1 对象代替this对象,那么 Class2 中不就有Class1 的所有属性和方法了吗,c2 对象就能够直接调用Class1 的方法以及属性了,执行结果就是:alert(“cc”);

对的,就是这样,这就是 javaScript 如何来模拟面向对象中的继承的,还可以实现多重继承。很简单,使用两个 call 就实现多重继承了当然,js的继承还有其他方法,例如使用原型链,这个不属于本文的范畴,只是在此说明call 的用法说了call ,当然还有 apply,这两个方法基本上是一个意思区别在于 call 的第二个参数可以是任意类型,而apply的第二个参数必须是数组

推荐整理分享js call方法详细介绍(js 的继承)(js中的call方法和apply方法),希望有所帮助,仅作参考,欢迎阅读内容。

js call方法详细介绍(js 的继承)(js中的call方法和apply方法)

文章相关热门搜索词:js中callee,js中call方法,js call的作用,js call的作用,js中的call方法和apply方法,js里的call函数,js.call(),js中call方法,内容如对您有帮助,希望把文章链接给更多的朋友!

JS简单实现元素复制示例附图 源代码:!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.Transitional//EN""

JS简单实现登陆验证附效果图 源代码:!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.Transitional//EN""

javaScript array(数组)使用字符串作为数组下标的方法 Array是从Object那里继承下。它具备Object所有的功能和特性。下面是Object的情况:新建:varobject=newObject();增加:object[strIndex]=value;(strIndex为string)删除:delet

标签: js中的call方法和apply方法

本文链接地址:https://www.jiuchutong.com/biancheng/373658.html 转载请保留说明!

上一篇:YUI模块开发原理详解(模块化开发app)

下一篇:JS简单实现元素复制示例附图(js创建元素)

  • 金融保险业税目
  • 利润表中的所得税
  • 固定资产的折余价值计算公式
  • 银行开具的票据有哪些
  • 未能确认收入的原因
  • 已暂估入库原材料,确认收不到发票怎么调账
  • 财务报表中利润怎么算
  • 公司股东没有认缴资金
  • 会计核算不实
  • 购买产品没开发票支付宝支付
  • 查补以前年度所得税如何填写申报表
  • 从银行取现回单怎么取
  • 公司注销留抵税金能退税吗
  • 企业安装监控费用怎么做账
  • 银行回单手续费怎么找到对应金额
  • 公司委托其他公司为员工代缴社保公积金
  • 公司一般户走账要交税吗
  • 印花税在什么情况下需要申报
  • 房产税计税依据房产原值怎么算
  • 劳务费无发票怎么报销
  • 从农民手里收的钱叫什么
  • 开土地租赁发票需要交哪些税费
  • 抵扣联和发票联算一张发票吗
  • 小规模税局代增值税专用发票怎么交税
  • 商品入库没有收到发票
  • 固定资产账面价值在什么情况下会出现负值
  • 生产性企业购买粽子可以开专票吗
  • 广告公司员工
  • 如何编制处置固定资产
  • linux如何使用
  • 在win10系统中复制的文件不能粘贴怎么办?
  • 个人承包建筑工程转让协议
  • uview2.0封装http请求实战以及常见请求传参实录
  • 出售低值易耗品的账务处理
  • 领用包装物会计科目
  • 金银首饰零售业必须为一般纳税人吗
  • 日出的时候是圣诞节
  • thinkphp5上传图片
  • php锁定文本
  • 享受小型微利企业税收优惠的条件
  • 金税三期登录不上
  • 固定资产转卖会亏本吗
  • 卸载的应用怎么找回来
  • 如何在Android中找到关闭的文件
  • 进入微信小程序
  • 奖金的发放应做到
  • 税收优惠与政府补助对于企业研发来说哪个优惠力度大
  • mac中mysql应该怎么运行
  • 其他应付款计入资产负债表哪个科目
  • 发票税率开错了3%开成5%怎么办?
  • 资产损失账务处理要求
  • 消费税在企业所得税前扣除吗
  • 房产增值税发票可以抵税吗
  • 购买汽车轮胎的注意事项
  • 受托代销商品款是什么意思
  • 单位食堂收费制度
  • 新建厂房需要缴纳什么税
  • 油费可以进项抵税吗
  • 企业管理费的计算基础
  • 货拉拉平台收取费用
  • u8委外怎么核销
  • 会计往来账如何记账
  • windows更新9%
  • windows vista 版本
  • linux详解
  • openbsd 6.9
  • win8的应用商店
  • Win10 Mobile 14393.321终于修复Lumia636/638导航栏遮挡
  • linux虚拟机网络设置
  • win7在开始菜单右击
  • 在批改中,可以使用x表示错误
  • js封装是什么意思
  • js点击表格行获取当前行信息
  • jquery实现二级联动菜单
  • linux装python环境
  • 浅析是什么意思
  • 北京办理税务登记的地方
  • 深圳各区海拔
  • 在税务局代开增值税票如何入账?
  • 小规模纳税人租赁费税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设