一.前言 不知道大家还记不记得前几篇的文章:《面试官:能解释一下javascript中的this吗》 那今天这篇文章虽然是介绍javascript中bind、apply和call函数,但是多少也和this有点关联。 假如在前面那场面试末尾,面试官不依不饶继续问你javascript中的this,那看 ...
分类:
移动开发 时间:
2020-02-10 18:15:22
阅读次数:
68
前面提到了call/apply的理解和模拟,再次谈谈具有相似性的bind函数的用法和模拟,bind同样是Function.prototype上面的函数,是es5中新增方法。 bind的作用 bind()方法创建一个新的函数,在调用时设置this关键字为提供的值。并在调用新函数时,将给定参数列表作为原 ...
分类:
编程语言 时间:
2019-03-08 09:35:15
阅读次数:
175
我们先来看一道题目 1 2 3 4 var write = document.write; write("hello"); //1.以上代码有什么问题 //2.正确操作是怎样的 1 2 3 4 var write = document.write; write("hello"); //1.以上代码有 ...
分类:
编程语言 时间:
2016-07-19 09:48:44
阅读次数:
270
js 里函数调用有 4 种模式:方法调用、正常函数调用、构造器函数调用、apply/call 调用。 同时,无论哪种函数调用除了你声明时定义的形参外,还会自动添加 2 个形参,分别是 this 和arguments。 arguments 不涉及到上述 3 个函数,所以这里只谈 this。this 的
分类:
移动开发 时间:
2016-03-22 19:10:01
阅读次数:
201
在讨论bind()方法之前我们先来看一道题目: var altwrite = document.write; altwrite("hello"); //1.以上代码有什么问题 //2.正确操作是怎样的 //3.bind()方法怎么实现 对于上面这道题目,答案并不是太难,主要考点就是this指向的问题
分类:
编程语言 时间:
2016-02-21 17:05:17
阅读次数:
234
在给我们项目组的其他程序介绍 js 的时候,我准备了很多的内容,但看起来效果不大,果然光讲还是不行的,必须动手。前几天有人问我关于代码里 call() 函数的用法,我让他去看书,这里推荐用js 写服务器的程序猿看《javascript编程精粹》这本书,crockford大神果然不是盖的。之后我在se...
分类:
移动开发 时间:
2016-01-05 22:08:05
阅读次数:
283
在Javascript中,bind, apply, call方法都可以显式绑定上下文this,这三者有何不同呢?bind只绑定this不马上执行var person = { firstname: 'darren', lastname: 'ji', getFullName: func...
分类:
移动开发 时间:
2015-11-28 16:47:55
阅读次数:
143
对于bind,我愣了下,这个方法常用在jquery中,用于为被选元素添加一个或多个事件处理程序。查了下手册,发现bind的作用和apply,call类似都是改变函数的execute context,也就是runtime时this关键字的指向。但是使用方法略有不同。一个函数进行bind后可稍后执行。v...
分类:
编程语言 时间:
2015-11-19 11:20:52
阅读次数:
235
在给我们项目组的其他程序介绍 js 的时候,我准备了很多的内容,但看起来效果不大,果然光讲还是不行的,必须动手。前几天有人问我关于代码里 call() 函数的用法,我让他去看书,这里推荐用js 写服务器的程序猿看《javascript编程精粹》 这本书,crockford大神果然不是盖的。之后我在segmentfault上又看到了类似的问题,那边解答之后干脆这里记一笔。
首先,关于 js 定义类...
分类:
移动开发 时间:
2015-03-14 15:26:14
阅读次数:
164
javascript的bind的作用 1 2 3 4 5 8 9 10 按钮 11 12 19 20 View Code此时加入bind1 var t...
分类:
编程语言 时间:
2014-09-26 18:13:18
阅读次数:
198