javascript 中that的含义示例介绍

你可能会发现别人写的代码中有这么一句:var that = this;,这代表什么意思呢?

在javascript中,this代表的是当前对象。

var that=this就是将当前的this对象复制一份到that变量中。这样做有什么意义呢?

代码如下:

$('#zhetenga').click(function(){
//this是被点击的#zhetenga
var that = this;
$('.zhetenga').each(function(){
//this是.zhetenga循环中当前的对象
//that仍然是刚才被点击的#zhetenga
});
});

可以看到,this对象在程序中随时会改变,而var that=this之后,that没改变之前仍然是指向当时的this,这样就不会出现找不到原来的对象。

(0)

相关推荐

  • javascript 中that的含义示例介绍

    你可能会发现别人写的代码中有这么一句:var that = this;,这代表什么意思呢? 在javascript中,this代表的是当前对象. var that=this就是将当前的this对象复制一份到that变量中.这样做有什么意义呢? 复制代码 代码如下: $('#zhetenga').click(function(){ //this是被点击的#zhetenga var that = this; $('.zhetenga').each(function(){ //this是.zheten

  • JavaScript中for-in遍历方式示例介绍

    摘要:for-in遍历方式的循环计数器是字符串类型,遍历对象时为对象属性/方法名,遍历数组时为数组元素下标索引,与普通的for循环不同,for-in会将继承的属性/方法列出,这一点在使用时需要特别关注. 除了传统的for循环,JavaScript为遍历操作定义了for-in方式,根据数据源的不同,在使用时存在差异. (1)遍历对象: 复制代码 代码如下: var fish = { head : 1, tail : 1, } for(var prop in fish) { console.log(

  • javascript中正则表达式反向引用示例介绍

    最近遇到一个需求,传入一个字符串,每三个字符插入一个空格 例: 传入abcd1234 输出 abc d12 34 思考了一下,准备写一个函数如下 复制代码 代码如下: function appendSpace(s) { var length = s.length; var result = ""; var last = 0; for(var i = 3;i<=length;i=i+3,last = last+3) { result = result+s.substring(i-3

  • JavaScript中removeChild 方法开发示例代码

    1. 概述 删除后的节点虽然不在文档树中了,但其实它还在内存中,可以随时再次被添加到别的位置. 当你遍历一个父节点的子节点并进行删除操作时,要注意,children属性是一个只读属性,并且它在子节点变化时会实时更新 // 拿到待删除节点: var self = document.getElementById('to-be-removed'); // 拿到父节点: var parent = self.parentElement; // 删除: var removed = parent.remove

  • JavaScript中的useRef 和 useState介绍

    目录 1.useState hook 2.useRef hook 3.useRef 与 useState 4.何时使用 Refs 和 States 1.useState hook useState 是一个内置的 React hook,它允许您将信息作为状态存储在变量中.它允许您将 React 状态添加到功能组件.在下面的示例中,useState()声明状态变量,而值存储在计数变量中.setCount是用于更新此值的函数. //从 react 导入 useState import React, {

  • JavaScript中事件委托的示例详解

    目录 事件流 事件委托 结尾 大家好,我是前端西瓜哥.今天我们来认识一下事件委托. 所谓事件委托,就是将原本应该在当前元素绑定的事件,放到它的祖先元素上,让祖先元素来委托处理. 事件流 事件流指从页面中接收事件的顺序,也可理解为事件在页面中传播的顺序. 事件流由两阶段组成: 捕获事件 冒泡事件 我们通常用 addEventListener 给元素添加事件: document.querySelector('#card')addEventListener( 'click', function (ev

  • JavaScript中setter和getter方法介绍

    javascript中的setter.getter是平时接触比较少的方法,其本身也并不是标准方法,只在非ie浏览器里支持(ie内核也许有其他方法可以做到呢?暂时不知其解),但是加以利用可以做许多事情,比如: 1.对数据的访问限制: a.value是对value变量的getter方法调用,如果在getter方法实现中抛出异常,可以阻止对value变量的访问 2.对dom变量进行监听: window.name是一个跨域非常好用的dom属性(大名鼎鼎,详见百度),如果覆盖window.name的set

  • 基于JavaScript中标识符的命名规则介绍

    JavaScript中的标识符的命名有以下规则: 由字母.数字.$._组成 以字母.$._开头 不可以使用保留字!!! 要有意义!!!!!!! 标识符的命名规范: 1.驼峰命名法 除标识符的第一个单词外,其余单词的首字母大写,例如:trueName 2.蛇型命名法 单词之间用_隔开,例如:true_name (注:大多数情况下,以1~2个下划线开始的标识符,代表特殊变量或内部变量,我们在自己定义的时候,尽量避免使用以下划线开头的变量) (粗浅的见解,望批评指正) 以上这篇基于JavaScript

  • JavaScript中document.activeELement焦点元素介绍

    目录 1.默认焦点在body 2.文本框手动获取焦点 3.通过focus获取焦点 4.tab切换焦点 5.document.hasFocus()判断是否获取焦点 前言: 有时需要获取页面焦点在哪个元素上,通过焦点可以判断用户是否在操作页面等信息.以前不太方便,要自己记录,html5增加了document.activeElement属性可以获取到当前激活的焦点. 1.默认焦点在body 页面加载后,document.activeElement是在body上: console.log(documen

  • Android中实现视差滚动示例介绍

    什么是视差滚动? 视差滚动原本是一个天文学术语,当我们观察星空的时候,离我们比较远的星星移动速度比较慢,离我们比较近的星星移动速度比较快,当我们坐在车上向车窗外看的时候也会有这种体验,远处的群山似乎没有移动,但近处的行道树却在飞速掠过. 在工程设计中,视差滚动是指通过为背景图像设定比前景图像更慢的移动速度模拟现实世界中人类的视觉体验,从而在 2D 场景中产生深度的错觉,增加沉浸感. 以下是几个设计实例: 如何在 Android 中实现视差滚动? 首先创建一个新项目 新建 Android proj

随机推荐