JavaScript中的call和apply用法
来源:互联网 发布:军用软件下载 编辑:程序博客网 时间:2024/05/29 16:38
上代码
<script type="text/javascript"> //定义一个人类function Person(name,age){ this.name=name; this.age=age}//定义一个学生function Student(name,age,grade){ Person.apply(this,arguments)//定义时,this指Student, arguments打出来是["Li", 11, "一班", callee: ƒ, Symbol(Symbol.iterator): ƒ] this.grade=grade}var s=new Student("Li",11,"一班")console.log(s);//{name: "Li", age: 11, grade: "一班"}</script>
分析
Person.apply(this,arguments)等同于
Person.call(this,name,age)
如果说Person和Student的参数顺序不一样,必须用call了
<script type="text/javascript"> //定义一个人类function Person(n,a){ this.n=n; this.a=a}//定义一个学生function Student(age,name,grade){ Person.call(this,age,name) console.log("1",this)//1 Student {n: "Li", a: 11} this.grade=grade}var s=new Student("Li",11,"一班")console.log(s);//Student {n: "Li", a: 11, grade: "一班"}</script>
应用:
1.apply可以将数组转化为一个参数接一个参数
Math.max(param1,param2,param3…)
Math.max(1,3,5,2)//5
数组的话
Math.max([1,3,5,2])//NaN得Math.max.apply(null,[1,3,5,2])5
上面是ES5的写法
ES6的话,直接用扩展运算符…,将数据组转化为参数序列:
Math.max(...[1,3,5,2])//5
阅读全文
0 0
- JavaScript中的call和apply用法
- Javascript call 和 apply 用法
- JavaScript中的call和apply
- JavaScript中的call和apply
- javascript中的apply和call
- JavaScript中的call和apply
- javascript中的apply和call
- javascript中的call和apply
- Javascript中的apply和call
- JavaScript中的apply和call
- JavaScript中的call和apply
- javascript 中的call 和apply
- javascript中的call()方法和apply()方法用法总结
- JavaScript--call( )/apply( )用法
- javascript的apply和call用法
- javascript的call 和apply的用法
- javascript之apply()和call()用法浅析
- JavaScript中的call、apply
- log4j有针对性的将日志输出到不同文件且不重复输出到root中
- Centos Yum error – ImportError: No module named cElementTree
- Spring框架中的各种*Aware接口
- PostMessage和SendMessage
- 前端JS如何获取主域名(根域名)
- JavaScript中的call和apply用法
- jboss规则引擎KIE Drools 6.3.0-高级讲授篇
- 爬虫mm
- 改变、透明状态栏和导航栏颜色 (沉浸式状态栏)
- JavaScript 面向对象(一)认识对象
- iOS应用架构谈 view层的组织和调用方案
- 时间超限解决方法之折半查找法定位置
- linux 清理pagecache
- 文件在线预览