初次结识 this 指针,是在学 <<C++ Primer Plus>>这本书的时候(这本书勉强读了一二遍,之后转学 html+css+js了,不过这是后话)。

依稀记得书中举了个例子,就是说两个对象在调用记法进行比较时,怎样来指代对象自身呢?在详细罗列了一系列问题后,引入了 this 指针。

有天晚上,vbs群里突然一哥们发了段代码,说不是太理解 this 指针。

我就发了一大段文字谈了自己的理解,具体咋说的忘记了,只记得这哥们说看来自己也得学下 c++才行。

javascript中也出现了 this 指针,下面谈谈自己的理解:

1,js 中的 this 指针是 "very late bind",最晚绑定

2,当函数不被作为对象的方法调用,而是做为函数调用时,此时 this 指针会被绑定到全局对象上,即 window对象。

通常这种情况发生在闭包中,解决办法是 把 this 指针赋值给 一个 局部变量 that。

由javascript中的this指针所想到的的更多相关文章

  1. 深入认识JavaScript 中的this指针

    深入认识JavaScript 中的this指针this指针是面向对象程序设计中的一项重要概念,它表示当前运行的对象.在实现对象的方法时,可以使用this指针来获得该对象自身的引用.和传统意义的面向对象 ...

  2. 彻底理解javascript中的this指针

    http://javascriptissexy.com/understand-javascripts-this-with-clarity-and-master-it/ https://www.benn ...

  3. Javascript中的函数(三)

    一:概述 函数是进行模块化程序设计的基础,编写复杂的Ajax应用程序,必须对函数有更深入的了解.JavaScript中的函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的.通过函数对象的性质 ...

  4. 【你不知道的javaScript 中卷 笔记1】javaScript中的类型与值

    一.类型与值 1.0 javaScript 七种内置类型: 空值(null) 未定义(undefined) 布尔值( boolean) 数字(number) 字符串(string) 对象(object ...

  5. <javaScript>谈谈JavaScript中的变量、指针和引用

    1.变量我们可能产生这样一个疑问:编程语言中的变量到底是什么意思呢?事实上,当我们定义了一个变量a时,就是在存储器中指定了一组存储单元,并将这组存储单元命名为a.变量a的值实际上描述的是这组存储单元中 ...

  6. 谈谈JavaScript中的变量、指针和引用

    1.变量 我们可能产生这样一个疑问:编程语言中的变量到底是什么意思呢? 事实上,当我们定义了一个变量a时,就是在存储器中指定了一组存储单元,并将这组存储单元命名为a.变量a的值实际上描述的是这组存储单 ...

  7. 图说js中的this——深入理解javascript中this指针

    没搞错吧!js写了那么多年,this还是会搞错!没搞错,javascript就是回搞错! ………… 文章来源自——周陆军的个人网站:http://zhoulujun.cn/zhoulujun/html ...

  8. javascript中this指针

    看完此片文章豁然开朗,非常感谢.javascript技术难点(三)之this.new.apply和call详解 下面说一说自己的理解: this指针总是指向调用他的对象,其实我更愿意理解为:this指 ...

  9. javascript中this指针探讨

    javascript是一门类java语言有很多跟java相类似的特点,但也仅是类似而已,真正使用中还是有很大的差别.this指针常常让很多初学者抓狂,本人也曾为此困惑不解,查找过很多资料,今天在这里总 ...

随机推荐

  1. mac pycharm配置 python

    一.首先查看自己安装的python的路径 在terminal运行 which python(which命令只是根据PATH环境变量找) 例如:/usr/bin/python 二.设置python版本 ...

  2. mysql sql常用语句大全

    SQL执行一次INSERT INTO查询,插入多行记录 insert into test.person(number,name,birthday) values(5,'cxx5',now()),(6, ...

  3. View绘制--onMeasure() 、onLayout()

    绘制需要经过多次 measure() layout() 过程, measure:测量,不可被子类继承,调用onMeasure()方法 onMeasure():测量,测量结束后每一个View都保存了自己 ...

  4. netbean快捷键

    1.Application应用程序的参数args的设置,在Build->Set Main Projects Configuration 2.程序运行快捷键F6 3.@Deprecated 4.代 ...

  5. Java简介

    命令行输入参数不是在代码中设置输入的,而是这样做:选中你java项目中的java---右击----Run As---Run Configurations---Arguments----填入参数(多个参 ...

  6. update 多表

    update energylog set value=(a.value+c.value)/2from energylog as a, energylog as cwhere a.idvariable= ...

  7. Keeplived配置Nginx双机高可用

    一.简介不管是Keepalived还是Heartbeat做高可用,其高可用,都是站在服务器脚本去说的高可用,而不是服务的角度.也就是说,如果服务器DOWN机或者网络出现故障,高可用是可以实现自动切换的 ...

  8. mybitis学习的页面

    http://mybatis.github.io/mybatis-3/zh/configuration.html

  9. mysql 数据导出 常用总结

    mysqldump -t 数据库名 -uroot -p > xxx.sql 总结:上面的导出形式默认表结构和数据: -d表结构; -t数据;   -c, --complete-insert使用完 ...

  10. [转]CSS网页布局:div水平居中的各种方法

    http://jingyan.baidu.com/article/fa4125ac90a2a328ac70929e.html 在Web标准中的页面布局是使用Div配合CSS来实现的.这其中最常用到的就 ...