文档章节

面向对象的this的使用

老鸟的空间
 老鸟的空间
发布于 2014/06/28 17:42
字数 250
阅读 15
收藏 0
点赞 0
评论 0

this:当前的方法属于谁,this就是指谁    除了在函数面前有new的时候

function man(){
		this.name='zhang';
		this.age=30;
		alert(this);
	}
	man()// DOMwindow
	function man2(){
		this.name='zhang';
		this.age=30;
		alert(this);
	}
	new man2()// object
function man2(){
		var this = new Object();   //虽然在JS里面不能这么写,但是差不多是这个意思,创建一个新的对象。
		this.name='zhang';
		this.age=30;
		  return this;             //返回this
		alert(this);
	}
	new man2()// object

亚当学院说的

JavaScript编程语言中,this并不一定是函数本身所属的对象。this只是在任意

object和function元素结合时的一个概念。

window.onload=function(){

   document.onclick=function(){

alert(this);//HTMLDocument

}

}

  <input type="button" value="test" id="btn" />

    <script>document.getElementById('btn').onclick=function(){

console.log(this);//<input type="button" value="test" id="btn">

}

</script>

    <input type="button" value="test" id="btn" />

    <script>

window.onload=function(){

_this = this;

document.getElementById('btn').onclick=function(){

console.log(_this+"__"+this);//[object Window]__[object HTMLInputElement]

}

}

</script>


______________________________________________________________________________________________________________

function whoami(){
				console.log('im  '+ this.name + '  of  ' + typeof(this));
			}
			whoami();
			var zhang = {
				name:'zhangsan',
				show:whoami
			};
			zhang.show();
			var lisi = { name:'lisi'};
			lisi.show = whoami;
			lisi.show();
			whoami.call(zhang);
			zhang.show.call(lisi);
			lisi.show.call(zhang);
			/*whoami.name='whoami';
			whoami.whoami=whoami;
			whoami.whoami();
			*/
			({name:'test',show:whoami}).show();
	</script>


© 著作权归作者所有

共有 人打赏支持
老鸟的空间
粉丝 7
博文 77
码字总数 6225
作品 0
海淀
程序员
面向对象设计模式与原则

面向对象设计模式与原则 1、设计模式简介 1)每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。 ——Christopher Alexander 2)设计模式描述了软件设计过...

flyhighly ⋅ 2011/04/24 ⋅ 0

面向对象,更适合JavaScript

面向对象程序设计是软件开发中一个很庞大很复杂的话题,它并不是仅仅学会类、继承、封装、多态这些面向对象编程语法元素就表示掌握的,这些语法元素只是实现面向对象程序的工具, 就像砖块、...

陈宏鸿 ⋅ 05/07 ⋅ 0

oJadb 发布 0.9.1

oJadb发布最新版本0.9.1。这个版本是第一个实现了roadmap基本功能的稳定版本。 面向对象数据库是对面向对象方法学的发展和运用,是面向对象方法学在数据库领域的具体实现。它以数据库原理为本...

EricHan ⋅ 2009/11/18 ⋅ 0

黑马程序员.bobo.DAY.6

/*静态:static用法:是一个修饰符,用于修饰成员(成员变量,成员函数),当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,可以直接被类名调用,类名.静态成员 static 特点:1,随着类的...

snow_it_bobo ⋅ 2015/05/14 ⋅ 0

面向对象数据库引擎--ojadb

面向对象数据库是对面向对象方法学的发展和运用,是面向对象方法学在数据库领域的具体实现。它以数据库原理为本,以面向对象开发语言为体,解决了面 向对象开发过程中对对象的持久化。面向对...

匿名 ⋅ 2009/03/16 ⋅ 0

Python-面向对象

(个人感觉真心不错 ,转过来一起学习一下 ) 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分...

ala9981 ⋅ 2016/03/20 ⋅ 0

Python基础6-1 面向对象编程

概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过...

jinmy001 ⋅ 2017/07/21 ⋅ 0

他们为什么说面向对象有问题,探讨面向对象的一些缺陷

最近跟某位朋友讨论了一些工作上的事情,他目前就职于某世界500强IT公司,在他们现在做的一个项目中,整个系统构架是完全面向对象的,而且他对这种框架 极其推崇,不过他们经常加班到深夜,有...

Kris_zcl ⋅ 2013/11/20 ⋅ 31

黑马程序员.bobo.DAY.5

------- android培训、java培训、期待与您交流! ---------- DAY-5 1.面向对象(概述) 1.1理解面向对象 面向对象是相对面向过程而言 面向对象和面向过程是一种思想 面向过程 强调的功能行为 ...

snow_it_bobo ⋅ 2015/05/14 ⋅ 0

全面理解面向对象的 JavaScript

简介: JavaScript 函数式脚本语言特性以及其看似随意的编写风格,导致长期以来人们对这一门语言的误解,即认为 JavaScript 不是一门面向对象的语言,或者只是部分具备一些面向对象的特征。本...

IBMdW ⋅ 2013/04/21 ⋅ 6

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周三乱弹 —— 这样的女人私生活太混乱了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ 胖达panda :你经历过体验到人生的大起大落吗?我一朋友在10秒内体验了,哈哈。@小小编辑 请点一首《almost lover》送给他。 《almost love...

小小编辑 ⋅ 38分钟前 ⋅ 5

自己动手写一个单链表

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。 一、概述 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对...

公众号_好好学java ⋅ 44分钟前 ⋅ 0

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部