js中call和apply的用法
来源:互联网 发布:tensorflow和spark 编辑:程序博客网 时间:2024/05/16 07:36
使用这两个方法可以像调用其他对象方法一样调用函数。
<html><head> <title>Example-6.10 用call和apply调用函数</title></head><body><script><!-- function dwn(s) { document.write(s + "<br/>"); } //定义一个Point类型 function Point(x,y) { this.a = x; this.b = y; this.toString = function(){ return "(" + [x,y] + ")"; } } //定义一个Vector类型 function Vector(x,y) { this.a = x; this.b = y; this.toString = function(){ return "[" + [x,y] + "]"; } } //这个函数将传入的参数累加到对象的x、y属性上 function add(x, y){ return new this.constructor(this.a + x, this.b + y); } var p = new Point(1, 2); //经过这个new之后,有了p.a和p.b的值了,而且重写了p.toString的方法。 var v = new Vector(-1, 2); //经过这个new之后,有了v.a和v.b的值了,而且重写了v.toString的方法。 var p1 = add.call(p, 3, 4); //把add函数作为p的方法调用,这个方法执行了add方法,而参数p对象作为了add函数的所有者。 var v1 = add.apply(v, [3,4]); //把add函数作为v的方法调用 dwn(p1); dwn(v1);--></script></body></html>
使用call和apply可以无需定义,直接调用一个函数。
运行结果:
(4,6)
[2,6]
- js中call和apply的用法
- js中call和apply的用法
- JS中call()和apply()的用法
- Js中call和apply的区别和用法
- Js中call和apply的区别和用法
- js中call和apply的区别和用法
- Js中call和apply的区别和用法
- js中apply和call的用法和区别
- js中apply()和call()的区别和用法
- js中call和apply用法
- js中call和apply用法
- js中apply和call的用法以及区别
- JS中call()和apply()的目的及用法
- JS中apply与call的用法
- JS中apply与call的用法
- JS中apply与call的用法
- !!js中call、apply、bind的用法
- js中call与apply的用法
- Linux Find 命令使用详解
- VC2010中添加已有项目到解决方案(工程)
- libevent-2.0.21笔记
- uc/os--OSStart
- 在痛苦中磨砺的珍珠!
- js中call和apply的用法
- WP网络编程
- vb6与vb.net程序设计基础——大同小异
- POSIX标准IO操作
- CI框架里面PHPExcel的使用|导出数据到Excel文件
- 第六章——如何播放音乐和音效
- 动态规划算法与分治算法思想
- linux下vi命令大全
- C++中回车换行(\n\r)和换行(\r)的区别