• javascript 切换上下文,事件绑定中改变this指向


    在事件绑定中,调用回调函数时改变this的指向,通常有几种做法,原生的bind()方法,和jquery中的$.proxy()。如果在事件绑定中,想让上下文从目标html元素中切换为局部变量,就可以这样做。

    两个例子:

    func.bind(obj); 

    参数:  func ,要调用的函数对象,必选

         obj ,this 关键字可在新函数中引用的对象,必选

    返回:  与 func 函数相同的新函数

    new function(){ 
        this.appName = "wem";
        document.documentElement.addEventListener("click", function(e){
                alert(this.appName);
            }.bind(this), false); 
    };
    var person = {
            name:"Kevin Yang",
            sayHi:function(){
                alert("你好,我是"+this.name);
            }
        }
    var boundFunc = person.sayHi.bind(person);
    setTimeout(boundFunc,5000);

    $.proxy(func, this)

    参数:  func ,要调用的已有函数对象,必选

         obj ,this 关键字可在新函数中引用的对象,必选

    返回:  与 func 函数相同的新函数

    new function(){
      this.appName = "wem2";
      document.documentElement.addEventListener("click", $.proxy(function(){
        alert(this.appName)
      } ,this), false);
    };

  • 相关阅读:
    java编辑器eclipse如何更改jdk版本
    java 获取实体类对象属性值的方法
    java 时间处理
    java file的一些方法
    java中的包装类与装箱拆箱定义
    java中的分支
    java中的循环
    冒泡排序法
    HDFS数据迁移解决方案之DistCp工具的巧妙使用
    HDFS数据迁移解决方案之DistCp工具的巧妙使用
  • 原文地址:https://www.cnblogs.com/otss/p/4978176.html
Copyright © 2020-2023  润新知