bind方法

Posted 葫芦娃~葫芦娃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bind方法相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <button id="test">click me</button>
</body>
<script>
function bind(context,name){
    return function(){
        return context[name].apply(context,arguments);
  //用apply函数改变函数的上下文,apply函数的第一个参数就是我们需要的上下文对象。
    }
};
/*对比一下*/
//function bind(context){ 
  //self = this;  //保存this,即调用bind方法的目标函数
  //return function(){
    //  return self.apply(context,arguments);
  //};
//};


var button = {
    clicked: false,
    click: function(){
        this.clicked = true;
        console.assert(button.clicked,"The button has been clicked.");
        console.log(this);
    }
};
var elem = document.getElementById("test");
elem.addEventListener("click",bind(button,"click"),false);
//调用bind方法,bind方法的第一个参数就是我们需要的上下文对象;
//addEventListener()三个参数,分别是event,function,false
</script>
</html>

 

以上是关于bind方法的主要内容,如果未能解决你的问题,请参考以下文章

26个jQuery代码片段使用技巧

Kotlin Android Studio - setContenView - 绑定(片段)

JavaScript之bind方法实现代码分析

vue3.2 基础及常用方法

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法