javascript中bind是什么意思


本文摘自PHP中文网,作者藏色散人,侵删。

javascript中bind是EcmaScript5新增的方法,bind()方法用于创建一个新的函数,当被调用时,将其this关键字设置为提供的值,在调用新函数时,在任何提供之前提供一个给定的参数序列。

本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

浅谈js中的bind

这篇文章主要介绍了js中的bind应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

提到bind方法,估计大家还会想到call方法、apply方法;它们都是Function对象内建的方法,它们的第一个参数都是用来更改调用方法中this的指向。需要注意的是bind 是返回新的函数,以便稍后调用;apply 、call 则是立即调用原函数 。而今天我们主要讲解bind方法的理解与使用。

bind方法是EcmaScript5新增的方法,该方法在mdn上是这么介绍的:

bind()方法创建一个新的函数(称为绑定函数), 当被调用时,将其this关键字设置为提供的值,在调用新函数时,在任何提供之前提供一个给定的参数序列。

语法:

1

fun.bind(thisArg[, arg1[, arg2[, …]]])

参数thisArg表示:当绑定函数被调用时,该参数会作为this的指向。当使用new 操作符调用绑定函数时,该参数无效。

参数arg1, arg2, …表示:当绑定函数被调用时,这些参数将置于实参之前传递给被绑定的方法。

先来看个例子:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

this.name="jack";

var demo={

name:"rose",

getName:function(){return this.name;}

}

  

console.log(demo.getName());//输出rose 这里的this指向demo

  

var another=demo.getName;

console.log(another())//输出jack 这里的this指向全局对象

   

//运用bind方法更改this指向

var another2=another.bind(demo);

console.log(another2());//输出rose 这里this指向了demo对象了

bind的应用

阅读剩余部分

相关阅读 >>

js中怎么换行

详解获取javascript各种全局对象变量的方法

javascript作用域和作用域链的解析(附示例)

除了 async 速度翻 10 倍,javascript 还带来了什么?

浅谈javascript对象属性的特性和defineproperty方法

使用rxjs管理react应用状态的介绍

javascript中的split方法详解

javascript常量和变量的区别有哪些

json是javascript子集么

css和javascript之间有什么区别

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...