您当前的位置: 首页 >  Java

dawn

暂无认证

  • 6浏览

    0关注

    204博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

JavaScript(12):apply、call、bind

dawn 发布时间:2022-02-13 17:24:56 ,浏览量:6

  JavaScript是一门非常灵巧的面向对象的开发语言,函数作为“第一公民”有很多方面的特殊应用手段,比如bind、apply、call等方法函数,它们的使用方式、传递参数都是一样的,也有区别。通过它们的使用,在以后面向对象的开发、建模、多态应用上会有很好的表现手段。

  不同的是:   bind:绑定this的指向,然后返回一个新函数,返回的对应方法不会立即执行,需要调用才执行   call、apply:改变this的指向,调用是立即执行的。

  apply和call的不同点:   1、call:接收的参数是逐个传入的;   2、apply:接收的是参数数组。

  注意:当第一个参数为null时,非严格模式下(默认情况),this指向window;严格模式("use strict"),this指向null。

  举例:

	//函数返回一个对象,包括给定参数的最大值、最小值、总和、平均值
	var funcA=function(...arg){
		var valRang={
			max:0,
			min:0,
			total:0,
			average:0
		}
		valRang.max=Math.max.call(null,...arg);
		valRang.min=Math.min.call(null,...arg);
		valRang.total=(function(){
			var x=0;
			for(var i=0;i            
关注
打赏
1664252102
查看更多评论
0.0735s