`

JQuery: $.Proxy 的两个例子,有助于理解javascript的scope

阅读更多
$.proxy

Returns a function that will always run in the provided scope — that is, sets the meaning of this inside the passed function to the second argument.

var myFunction = function() {
  console.log( this );
};
var myObject = {
  foo: "bar"
};
 
myFunction(); // window
 
var myProxyFunction = $.proxy( myFunction, myObject );
 
myProxyFunction(); // myObject
If you have an object with methods, you can pass the object and the name of a method to return a function that will always run in the scope of the object.

var myObject = {
  myFn : function() {
    console.log( this );
  }
};
 
$("#foo").click( myObject.myFn ); // HTMLElement #foo
$("#foo").click( $.proxy( myObject, "myFn" ) ); // myObject

 

分享到:
评论

相关推荐

    java.lang.NoSuchMethodException: com.sun.proxy.$Proxy58.list错误解决办法

    `@Transactional`注解只有在Spring管理的bean是具体类而非抽象类时才有作用,因为它依赖于动态代理来拦截方法调用并添加事务管理逻辑。因此,将`@Transactional`注解放在抽象类上是无效的,而且可能导致运行时异常。...

    jQuery的$.proxy()应用示例介绍

    这个例子展示了$.proxy()的两种用法。第一种方式是直接将函数和该函数所属对象作为参数传递给$.proxy(),而第二种方式是将对象和对象中要调用的函数名作为字符串传递给$.proxy()。 在第二个示例中,我们看到了在...

    jquery1.2.6源码分析rar + API

    理解jQuery的源码有助于我们更深入地使用这个库,提高代码质量和效率。同时,掌握API能让我们在项目开发中游刃有余。无论是新手还是经验丰富的开发者,都应该充分利用jQuery提供的工具,提升开发效率。 总结,...

    jquery1.4.js + jquery-validation.min.js

    2. **$.proxy()函数**:这个新函数允许开发者绑定一个函数到特定的上下文,解决了JavaScript中this关键字的问题,使得回调函数的执行环境更加可控。 3. **$.each()增强**:现在可以对非数组对象进行迭代,这极大地...

    jquery-1.7.1.min-vsdoc.js

    《jQuery 1.7.1.min.js与jQuery 1.7.1.min-vsdoc.js深入解析》 在JavaScript的世界里,jQuery是一个广泛使用的库,它极大地简化了DOM...在实际开发中,理解并熟练运用这两个文件,将有助于提升项目的质量和开发效率。

    jquery1.7+jquery1.8 API文档CHM格式

    4. **$.proxy**: 优化了$.proxy,使其可以处理未定义的上下文(context)。 5. **动画改进**: 添加了`.stop(true, true)`,使动画立即停止并跳至末态。 ### jQuery 1.8 版本 #### 1.8 版本更新要点 1. **$.ajax...

    jQuery 1.7 (api)

    7. **其他API改进**:还包括对$.proxy(), $.extend(), $.grep()等多个函数的改进,使它们更强大、更易用。 jQuery 1.7的API文档(jQuery 1.7_20111204.chm)详细列出了所有可用的函数、方法和属性,以及它们的参数...

    jQuery1.3及jquery1.4.1和jQuery_API.mxp

    在jQuery 1.3和1.4.1这两个版本中,有许多关键的改进和新特性,下面我们将详细探讨这些知识点。 ### 1. 选择器增强 jQuery 1.3 在原有的 CSS 选择器基础上进行了扩展,支持更多的标准 CSS3 选择器,如 `:nth-child...

    jquery.1.6.2.sdocml&jquery.1.4.2.sdocml

    同时,理解不同版本间的差异也有助于我们选择更适合项目需求的jQuery版本。 总之,jQuery 1.4.2和1.6.2在JavaScript开发中扮演着重要角色,它们的特性优化和功能改进提升了开发效率和代码质量。结合Aptana的代码...

    java.lang.reflect.Proxy 学习资料 讲解 例子 源码

    java.lang.reflect.Proxy 学习资料 讲解 例子 源码 java.lang.reflect.Proxy 学习资料 讲解 例子 源码 java.lang.reflect.Proxy 学习资料 讲解 例子 源码

    jquery-1.2-release

    4. **事件处理**:事件绑定功能得到了加强,$.event特殊事件和$.proxy()函数的引入,使得事件处理更加灵活,可以更好地处理冒泡和委托事件。 5. **动画效果**:jQuery 1.2增强了动画效果的控制,如animate()方法...

    jquery-1.4.3.js+jquery-1.7.2.js包下载

    《jQuery 1.4.3与1.7.2:两个关键版本的比较与应用》 jQuery是一款广泛使用的JavaScript库,极大地简化了JavaScript的DOM操作、...理解这些版本的特性,有助于开发者更好地利用jQuery来提升网站的用户体验和开发效率。

    jQuery 1.5 API 中文版

    $.jQuery( selector [, context] ), .jQuery( element ), .jQuery( elementArray ), .jQuery( jQueryObject ), .jQuery( ) $.jQuery( html [, ownerDocument] ), .jQuery( html, props ) $.jQuery( fn ) jQuery ...

    jquery1.7.2 API.CHM中文版

    7. **$.extend()**:用于合并两个或更多对象的属性,常用于扩展jQuery的插件。 8. **$.each()**:遍历数组或对象,常用于迭代操作。 9. **$.proxy()**:确保函数调用时保持正确的上下文,即`this`指向。 10. **$....

    jQuery1-8-2.js和jqueryAPI

    - **$.proxy()**:创建一个函数,其上下文(this)被设置为指定的对象。 **3. jQuery 1.8.2 的改进与变化:** - **$.support**:添加了一些新的浏览器特性检测。 - **$.Callbacks()**:创建可配置的回调函数队列,...

    jQuery1.2API.chm,jQueryAPI-100214.chm,jquery-1.8.0.js

    此外,$.proxy()方法被引入,用于创建一个函数,其内部的this关键字会被绑定到指定的对象。 通过学习这些文件,开发者不仅可以掌握jQuery的基础用法,还能了解到不同版本间的演变和最佳实践。jQuery的高效和易用性...

    jQueryAPI1.4.rar

    在jQuery 1.4.1中,`$.extend()`用于合并对象,`$.each()`遍历数组或对象,`$.proxy()`确保函数的上下文正确,这些都是常用的工具函数。此外,`$.support`属性提供了浏览器特性的检测,便于进行跨浏览器的兼容性开发...

    jquery-1.2.3.zip

    同时,$.proxy()函数可以确保事件处理函数内的this指向正确,解决了JavaScript中this上下文的问题。 动画效果是jQuery的一大亮点。$.animate()函数可以实现平滑的CSS属性过渡,配合.stop()和.clearQueue()可以精确...

    jQuery API 详解 中文版

    jQuery简化了许多原生JavaScript操作,如$.extend()用于合并对象,$.noop()定义空函数,$.proxy()用于改变函数的作用域。此外,还涉及到了事件处理,如$.on()和$.off(),以及$.is()和$.not()等条件判断方法。 **第...

Global site tag (gtag.js) - Google Analytics