首页前端开发JavaScriptjavascript中bind的用法是什么

javascript中bind的用法是什么

时间2024-01-30 06:41:03发布访客分类JavaScript浏览521
导读:收集整理的这篇文章主要介绍了javascript中bind的用法是什么,觉得挺不错的,现在分享给大家,也给大家做个参考。javascript中bind方法用于创建一个新的函数,其使用语法是“function.bind(thisarg[, a...
收集整理的这篇文章主要介绍了javascript中bind的用法是什么,觉得挺不错的,现在分享给大家,也给大家做个参考。

javascript中bind方法用于创建一个新的函数,其使用语法是“function.bind(thisarg[, arg1[, arg2[, ...]]])”,其中参数thisArg表示调用绑定函数时作为this参数传递给目标函数的值。

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

javascript中bind的用法是什么?

Function.PRototyPE.bind()

bind() 方法创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。

语法

function.bind(thisArg[, arg1[, arg2[, ...]]])

参数thisArg:

调用绑定函数时作为 this 参数传递给目标函数的值。 如果使用new运算符构造绑定函数,则忽略该值。当使用 bind 在 setTimeout 中创建一个函数(作为回调提供)时,作为 thisArg 传递的任何原始值都将转换为 object。如果 bind 函数的参数列表为空,或者thisArg是null或undefined,执行作用域的 this 将被视为新函数的 thisArg。

参数arg1, arg2, ...:

当目标函数被调用时,被预置入绑定函数的参数列表中的参数。

返回值

返回一个原函数的拷贝,并拥有指定的 this 值和初始参数。

描述:

bind() 函数会创建一个新的绑定函数(bound function,BF)。绑定函数是一个 exotic function object(怪异函数对象,ecmascript 2015 中的术语),它包装了原函数对象。调用绑定函数通常会导致执行包装函数。

绑定函数具有以下内部属性:

[[BoundTargetFunction]] - 包装的函数对象

[[BoundThis]] - 在调用包装函数时始终作为 this 值传递的值。

[[Boundarguments]] - 列表,在对包装函数做任何调用都会优先用列表元素填充参数列表。

[[Call]] - 执行与此对象关联的代码。通过函数调用表达式调用。内部方法的参数是一个this值和一个包含通过调用表达式传递给函数的参数的列表。

当调用绑定函数时,它调用 [[BoundTargetFunction]] 上的内部方法 [[Call]],就像这样 Call(boundThis, args)。其中,boundThis 是 [[BoundThis]],args 是 [[BoundArguments]] 加上通过函数调用传入的参数列表。

绑定函数也可以使用 new 运算符构造,它会表现为目标函数已经被构建完毕了似的。提供的 this 值会被忽略,但前置参数仍会提供给模拟函数。

推荐学习:《javascript基础教程

以上就是javascript中bind的用法是什么的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

javascript

若转载请注明出处: javascript中bind的用法是什么
本文地址: https://pptw.com/jishu/592173.html
关于csharp的实例教程 JavaScript中valueof方法怎么用

游客 回复需填写必要信息