【前言】 在JavaScript中,call、apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向。 【区别】 【主体】 (1)call 语法: call([thisObj[,arg1[, arg2[, [,.argN]]]]]),传递的是参数列表 ...
分类:
移动开发 时间:
2020-02-25 12:41:00
阅读次数:
81
this问题 在es5中,在函数定义时是无法确定this的指向的,只有在运行的时候才知道它的指向,实际上this的指向是指向调用它的那个对象 例子1 function a() { var user = '1' console.log(this.user) // undefined console.l ...
分类:
移动开发 时间:
2020-02-13 13:06:44
阅读次数:
63
其实是一个很简单的东西,认真看十分钟就从一脸懵B 到完全 理解! 先看明白下面: 例 1 obj.objAge; // 17 obj.myFun() // 小张年龄 undefined 例 2 shows() // 盲僧 比较一下这两者 this 的差别,第一个打印里面的 this 指向 obj,第 ...
分类:
移动开发 时间:
2020-02-08 11:27:17
阅读次数:
88
call、apply、bind求数组的最大值和最小值:数组排序(SORT的原理->localeCompare实现汉字比较),取头取尾假设法利用APPLY传参传递的是一个数组的机制,借用Math.max/Math.min获取最大值最小值利用EVAL获取最大最小:把需要执行的代码拼接成字符串,在使用EV... ...
分类:
移动开发 时间:
2020-02-05 09:37:16
阅读次数:
98
2.2.1 call方法 call()方法调用一个对象,简单理解为调用函数的方式,但是它可以改变函数的 this 指向 应用场景: 经常做继承。 以上代码运行结果为: 2.2.2 apply方法 apply() 方法调用一个函数。简单理解为调用函数的方式,但是它可以改变函数的 this 指向。 应用 ...
分类:
移动开发 时间:
2020-01-23 11:02:14
阅读次数:
113
call(),apply(),bind() 函数大家可能都有所了解,但是在平时搬砖过程中很可能或者基本没用过,学过但都淡忘了。 但是在大量第三方的框架(库),甚至js自己都在 源码中大量使用 call,apply 函数。所以今天和大家仔细讨论下它们在 开发中的应用场景 。 1 . 它们是啥意思 1. ...
分类:
移动开发 时间:
2020-01-18 11:09:20
阅读次数:
86
什么是函数的作用域函数作用域:在JavaScript中,作用域为可访问变量,对象,函数的集合。JavaScript函数作用域:作用域在函数内修改。this与函数又有什么关系呢?this对象是在运行时基于函数的执行环境绑定的。比如:在全局函数中,this等同于window或者global,而当函数被作为方法调用时,this等于那个对象。特别需要注意的是在执行诸如:setInterval、setTim
分类:
移动开发 时间:
2020-01-15 21:17:41
阅读次数:
82
一、call、apply、bind(改变函数内部this指向) 使用场景:一般绑定方法的时候使用bind;在调用其他实例方法时候多用call/apply 1.call的作用 ①.可以调用函数 var obj = { name:'alhh' } function fn(){ console.log(t ...
分类:
编程语言 时间:
2020-01-13 15:52:05
阅读次数:
70
<script> function test(){ console.log(this) } // new test(); //函数调用call方法的时候,就会执行。 //call的参数:第一个参数:方法执行的时候,方法中的this的指向。第二个参数:表示方法执行所需要的实际参数。 var obj = ...
分类:
移动开发 时间:
2019-12-21 18:43:48
阅读次数:
96
文章目录 apply、call apply、call 区别 apply、call实例 数组之间追加 获取数组中的最大值和最小值 验证是否是数组(前提是toString()方法没有被重写过) 类(伪)数组使用数组方法 面试题 bind 绑定函数 偏函数(Partial Functions) 和setT ...
分类:
移动开发 时间:
2019-12-15 16:16:48
阅读次数:
106