文档章节

面向对象的this的使用

老鸟的空间
 老鸟的空间
发布于 2014/06/28 17:42
字数 250
阅读 15
收藏 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
博文 78
码字总数 6225
作品 0
海淀
程序员
面向对象,更适合JavaScript

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

陈宏鸿
05/07
0
0
oJadb 发布 0.9.1

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

EricHan
2009/11/18
229
0
面向对象数据库引擎--ojadb

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

匿名
2009/03/16
856
0
黑马程序员.bobo.DAY.6

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

BobbyLou
2015/05/14
0
0
Python-面向对象

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

ala9981
2016/03/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

maven坐标和依赖

一、maven坐标详解 <groupId>com.fgt.club</groupId><artifactId>club-common-service-facade</artifactId><version>3.0.0</version><packaging>jar</packaging> maven的坐标元素说......

老韭菜
今天
1
0
springmvc-servlet.xml配置表功能解释

问:<?xml version="1.0" encoding="UTF-8" ?> 答: xml version="1.0"表示是此xml文件的版本是1.0 encoding="UTF-8"表示此文件的编码方式是UTF-8 问:<!DOCTYPE beans PUBLIC "-//SPRING//......

隐士族隐逸
今天
1
0
基于TP5的微信的公众号获取登录用户信息

之前讲过微信的公众号自动登录的菜单配置,这次记录一下在TP5项目中获取自动登录的用户信息并存到数据库的操作 基本的流程为:微信设置自动登录的菜单—>访问的URL指定的函数里获取用户信息—...

月夜中徘徊
今天
0
0
youTrack

package jetbrains.teamsys.license.runtime; 计算lis package jetbrains.ring.license.reader; 验证lis 安装后先不要生成lis,要把相关文件进行替换 ring-license-checker-1.0.41.jar char......

max佩恩
今天
1
0
12.17 Nginx负载均衡

Nginx负载均衡 下面的dig看到可以返回2个IP,就是解析出来的IP,这样我们可以做负载均衡。 dig www.qq.com 1.vim /usr/local/nginx/conf/vhost/fuzai.conf 2.添加如下配置 upstream qq //定义...

芬野de博客
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部