iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JQuery中this的指向实例分析
  • 802
分享到

JQuery中this的指向实例分析

2023-06-30 14:06:56 802人浏览 安东尼
摘要

这篇文章主要介绍“Jquery中this的指向实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JQuery中this的指向实例分析”文章能帮助大家解决问题。javascript中的this不总

这篇文章主要介绍“Jquery中this的指向实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JQuery中this的指向实例分析”文章能帮助大家解决问题。

javascript中的this不总是指向当前对象,函数或类中的this指向与调用这个函数的对象以及上下文环境是息息相关的。

如在全局作用域调用一个含this的对象,此时当前对象的this指向的是window。

为了让this的指向符合自己的意愿,JavaScript提供了两个方法用以改变this的指向,它们是call和apply,当然也有利用闭包来实现的方法。

在Jquery 中的this的指向是怎么样的呢?

一、ajax回调函数中的this

默认情况下指向AJAX配置对象ajaxSettings。

在jQuery内部是用s.success代替传入的回调函数去执行的,而success的调用对象就是s,即ajaxSettings对象的缩写。

var Socket ={    connect: function(host, port)    {        alert('Connecting socket server,host:' + host + ',port:' + port);    }};//一个即时通讯类,其中connect方法还将作为AJAX回调函数被调用function classIm(){    this.host = '192.168.1.28';    this.port = '8080';    this.connect = function(data)    {      socket.connect(this.host, this.port);    };}var IM = new classIm();$.get('CheckWEBLogin.aspx', IM.connect);//弹出的host与port都是undefined。

如果希望AJAX回调函数代码socket.connect(this.host, this.port)中的this指向类classIm的实例对象IM,或者说是想socket.connect()方法能得到正确的参数值,大致有下面几种方法:

1、设置ajax的context选项

将Ajax回调函数中的this指向对象IM。

$.ajax({    context:IM,    type:'get',    ulr:”page.html”,    success:IM.connect})

2、调用$.proxy

改变函数内this的指向

$.get(”page.html”,$.proxy(IM.context,IM))

3、对象实传

直接传对象的正确引用而非this指针

这是最常见的做法,即在类实例化时用一个变量存储对当前对象的引用,在后面的方法中直接使用此变量代替this的使用。注意:这种方法并没有真正改变this的指向。

function classIm(){    var self = this;    this.host = '192.168.1.28';    this.port = '8080';    this.connect = function(data)    {        socket.connect(self.host, self.port);    };}

4、使用apply加闭包

实现真正改变this的指向。

这种方法是很多JavaScript框架的做法。

Function.prototype.Proxy = function(thisObj){    var _method = this;    return function(data)    {        return _method.apply(thisObj,[data]);       //或者       return  function()       {ret _fn.apply(thisObj,arguments);};    };}//调用:var IM = new classIm();$.get('CheckWebLogin.aspx', IM.connect.Proxy(IM));

5、添加函数包装器

在匿名回调函数中再调用实际的回调处理函数。不建议使用。

$.get('page.html', function(data){    IM.connect(data)});

二、jQuery事件绑定回调函数中的this

指向event.currentTarget,即附着这个函数的DOM对象。

1、可以在函数绑定时传递参数:

$('#a').bind('click'{self:this},this.onClick);function onClick(event){  var self=event.data.self;}

2、可以使用上面的2、3、4、5中方法改变this的指向。

$("#a").click($.proxy(myFun,this));//或 $("#a").click(myFun.Proxy(this));

关于“JQuery中this的指向实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: JQuery中this的指向实例分析

本文链接: https://www.lsjlt.com/news/329473.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JQuery中this的指向实例分析
    这篇文章主要介绍“JQuery中this的指向实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JQuery中this的指向实例分析”文章能帮助大家解决问题。JavaScript中的this不总...
    99+
    2023-06-30
  • JavaScript之this指向实例分析
    今天小编给大家分享一下JavaScript之this指向实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。默认绑定,全局...
    99+
    2023-06-30
  • JavaScript中this指向方法实例分析
    这篇文章主要讲解了“JavaScript中this指向方法实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中this指向方法实例分...
    99+
    2024-04-02
  • JavaScript中this指向的示例分析
    小编给大家分享一下JavaScript中this指向的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!this先看代码:方法中function t...
    99+
    2023-06-25
  • Angular.JS中this指向的示例分析
    这篇文章主要介绍了Angular.JS中this指向的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。【this详解】1、谁最终调用函...
    99+
    2024-04-02
  • JavaScript中的this关键词指向实例分析
    这篇文章主要讲解了“JavaScript中的this关键词指向实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中的this关键词指向实例分析”吧!1、es5中的th...
    99+
    2023-06-30
  • JavaScript中this指向问题的示例分析
    这篇文章将为大家详细讲解有关JavaScript中this指向问题的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 箭头函数箭头函数排在第一个是因为它的 this 不会被改变,所以只要当前函数...
    99+
    2023-06-14
  • es6箭头方法中this指向实例分析
    这篇文章主要介绍“es6箭头方法中this指向实例分析”,在日常操作中,相信很多人在es6箭头方法中this指向实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”es6箭头方法中this指向实例分析”的疑...
    99+
    2023-07-04
  • JQuery中this的指向详解
    JavaScript中的this不总是指向当前对象,函数或类中的this指向与调用这个函数的对象以及上下文环境是息息相关的。 如在全局作用域调用一个含this的对象,此时当前对象的t...
    99+
    2024-04-02
  • js中this的指向问题归纳的示例分析
    这篇文章给大家分享的是有关js中this的指向问题归纳的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。thisthis:上下文,会根据执行环境变化而发生指向的改变.1.单...
    99+
    2024-04-02
  • C++的this指针实例分析
    这篇文章主要介绍了C++的this指针实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++的this指针实例分析文章都会有所收获,下面我们一起来看看吧。this指针是存在与类的成员函数中,指向被调用函数...
    99+
    2023-06-27
  • Javascript中this关键字指向问题的示例分析
    这篇文章主要介绍了Javascript中this关键字指向问题的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。测试题目第一题<...
    99+
    2024-04-02
  • Javascript中函数分类&this指向的实例详解
    JS中定义函数的三种方式 通过实例来说明吧 <script> //method1 function fn() { ...
    99+
    2024-04-02
  • JavaScript面向对象基础与this指向的示例分析
    这篇文章给大家分享的是有关JavaScript面向对象基础与this指向的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1 、OOP的基础问题1.1什么是面向过程和面向对...
    99+
    2024-04-02
  • JS中this在各个场景下指向的示例分析
    这篇文章主要介绍JS中this在各个场景下指向的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. this 的奥秘很多时候, JS 中的 this 对于咱们的初学者很容易产...
    99+
    2024-04-02
  • JavaScript中的this实例分析
    本篇内容主要讲解“JavaScript中的this实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript中的this实例分析”吧!普通函数中的 this我们来看例题:请给出下...
    99+
    2023-07-02
  • JS箭头函数的this指向分析
    本篇内容介绍了“JS箭头函数的this指向分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!箭头函数是ES6中的新增特性,他没有自己的thi...
    99+
    2023-06-25
  • web开发中函数调用以及this的指向的示例分析
    这篇文章主要为大家展示了“web开发中函数调用以及this的指向的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“web开发中函数调用以及this的指向的...
    99+
    2024-04-02
  • Vue中methods的this指向问题浅析
    如果是组件的话,将会是VueComponent实例对象,Vue和VueComponent两个类其实差不都,今后会另外开章节描述两者差别,这里先飘过。 比如下面的简单的一个demo代码...
    99+
    2022-11-13
    Vue methods Vue methods this指向
  • javascript中 “this”的示例分析
    小编给大家分享一下javascript中 “this”的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言:我们知道...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作