JavaScript高级编程学习7——this关键字
在ECMAScript中,我们经常可以看到在函数中使用this关键字。而this指的是调用该方法的对象。如下代码:
var person = new Object();person.name = 'wu';var name='wuxq';person.ShowInfo = function () {document.write(this.name);//输出wudocument.write('<br>');}function A() {document.write(this.name);//输出wuxq}person.ShowInfo();A();
可以看到这两个函数里面分别使用了this关键字。但是他们的输出时不一样的。由于ShowInfo是由person对象调用的,因此this指的是person对象。this.name等同于person.name.而函数A,其调用其实是这样的window.A(),因此可见this指的是window对象,而var name='wuxq' 其实也是这样声明的 var window.name='wuxq';因此这是的this.name等同于window.name;
this用法的代码:
function ShowInfo() { document.write(this.name)}var person1 = new Object();person1.name = 'wuxq1';person1.ShowInfo = ShowInfo;var person2 = new Object();person2.name = 'wuxq2';person2.ShowInfo = ShowInfo;person1.ShowInfo();person2.ShowInfo();
转载于:https://www.cnblogs.com/wuxiaoqian726/articles/1984914.html
JavaScript高级编程学习7——this关键字相关推荐
- javascript高级编程学习笔记(二)——继承
2019独角兽企业重金招聘Python工程师标准>>> 写读书笔记的好处在于加深记忆,前一篇总结了编程中创建的对象的几种方式,以及常用的方式,这一篇总结实现继承的方式: 1.对象冒充 ...
- JavaScript高级编程学习6——Date
ECMAScript和Java一样,是把日期存储为距离UTC格林尼治标准时间(1970年1月1日凌晨12点)的毫秒数(还会加上相应的时差).var date=new Date();这样是用当前的日期和 ...
- javascript高级编程学习
1.6中你数据类型:undefined,null,bolean,number,string ,object 通常用typeof来判断数据类型: "undefined"如果值未定义 ...
- Javascript高级编程学习笔记(20)—— 创建对象
由于今天有点事,加上对象原型链的东西有点多,所以今天这篇就讲一个小的知识点吧 也算为明天的对象继承做铺垫 工厂模式 虽然使用对象字面量来创建一个对象十分地便捷,但是这个方法有一个显著的缺点 那就是如果 ...
- JavaScript 高级编程(二)
JavaScript 高级编程(二) BOM 一套操作浏览器的API. 常见对象 window: 代表整个浏览器窗口 注意: window是BOM中的一个对象, 并且是一个顶级的对象(全局) Navi ...
- JavaScript高级编程 III
原文地址:http://www.onlamp.com/pub/a/onlamp/2007/11/20/advanced-javascript-iii.html JavaScript高级编程I:http ...
- 【C#8.0 and .NET Core 3.0 高级编程学习笔记】
@C#8.0 and .NET Core 3.0 高级编程学习笔记 前言 为了能精细地完成对C#语言的学习,我决定选择一本书,精读它,理解它,记录它.我想选择什么书并不是最重要的,最重要的是持之以恒的 ...
- 嵌入式系统开发学习步骤(Linux高级编程学习顺序)
2019独角兽企业重金招聘Python工程师标准>>> 嵌入式系统开发学习步骤(Linux高级编程学习顺序) 1.Linux 基础 安装Linux操作系统 Linux文件系统 Lin ...
- JavaScript高级程序设计学习笔记(三)
分享一下第五章(引用类型)的笔记,内容比较多,我拆成了两部分,今天这部分是关于Object.Array.Date和RegExp类型的. 以下的笔记是书上一些我以前学习的时候,没有太重视的js基础知识, ...
最新文章
- Maya基础入门学习教程
- Spring Cloud云架构 - SSO单点登录之OAuth2.0登录流程(2)
- 目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU
- 【你知道HHTP各种状态代表什么意思吗?】
- SpringMVC+MyBatis+Redis开启二级缓存配置
- ITK:单相Chan和Vese密集域水平集分割
- css 如何让背景图片拉伸填充避免重复显示
- python常用魔术方法
- 开启admin$共享
- Instant Run 的操作影响到了代码,导致Android App启动闪退的问题
- 张宇八套卷(一)复盘
- windows 无法加载DLL “***.dll”:找不到指定的模块
- SEGGER RTT使用总结
- bcdedit删除引导_Bcdedit命令教程以及用于编辑Windows引导配置的示例
- SAP中复制创建采购申请的过程
- 独家专访京东区块链技术专家刘春伟:大厂BaaS扎堆,京东如何走C位?
- 也许有一天,你发觉日子特别的艰难,那可能是这次的收获将特别的巨大
- oracle19数据库对内存要求,在天堂 - 技术老男
- 1.6启动失败的解决办法
- 为什么诉讼融资会火?
热门文章
- @EnableScheduling和@Scheduled的使用(初级)
- emwin之基于某个事件或标志创建某个界面的一种方法
- 【转】 LINUX中IPTABLES和TC对端口的带宽限制 端口限速
- Android深度探索(卷1)HAL与驱动开发--读书笔记(第一章)
- 两种控制器的跳转与回跳
- LintCode: Binary Tree Inorder Traversal
- Xml解析之PULL解析 例1
- IOS设计模式学习(1)设计模式初窥
- Cadence Orcad 无法启动出现Capture.exe找不到cdn_sfl401as.dll问题
- setuptools的package_data问题