面向对象3-this的用法

1.当有定时器时 this会指向window

<script type="text/javascript">
		function Aaa(){
			var _this=this;  //_this表示Aaa
			this.a=12;

			setInterval(function(){
//				console.log(this)  //this表示window
				_this.show();
			},1000)
		}
		Aaa.prototype.show=function(){
			console.log(this.a)
		}
		var obj=new Aaa();
//		obj.show()
	</script>

2.当有事件时,this会指向事件对象

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8" />
	<title>Document</title>
</head>
<body>

	<script type="text/javascript">
		function Bbb(){
//			console.log(this)   //this 这个表示 Bbb
			var _this=this;
			this.b=5;
//			document.getElementById("btn").onclick=this.show  //这里的this表示 input
			document.getElementById("btn").onclick=function(){
				_this.show()
			}
		}
		Bbb.prototype.show=function(){
			console.log(this.b)  /*this 表示*/
		}
		window.onload=function(){
			  new Bbb();
		}

	</script>

	<input type="button" name="" id="btn" value="按钮" />
</body>
</html>

  

时间: 2024-10-01 13:03:01

面向对象3-this的用法的相关文章

python学习7_1面向对象基本概念和用法

定义类时会立刻触发类体代码的运行,产生名称空间 class OldBoySchool: school = 'oldBoy' def choose_course(self): print('is choosing course') 访问类的属性 print(OldBoySchool.school) 访问类的方法,对类来说,类方法就是普通的方法 print(OldBoySchool.choose_course('123')) stu1 = OldBoySchool() stu2 = OldBoySc

面向对象中组合的用法

# 组合 一个类对象的属性值是另外一个类的对象 # 狗 class Dog: def __init__(self, name, aggr, hp, kind): self.name = name self.aggr = aggr self.hp = hp self.kind = kind def bite(self, persion): persion.hp += self.aggr # 人 class Persion: def __init__(self, name, aggr, hp, se

java面向对象-------String类基本用法

package cn.zxg.oop; /** * 测试string类的用法,不能被重写 */ public class TestString { String a; public static void main(String[] args) { String str="abc"; String str2=new String("def"); String str3="abc"+"def"; String str4=&quo

PHP中__get()和__set()的用法实例详解

PHP中__get()和__set()的用法实例详解 在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值其属性,对每个字段进行set和get的操作.只需要加上两个魔术方法即可 php面向对象_get(),_set()的用法 一般来说,总是把类的属性定义为private,这更符合 现实的逻辑.但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值其属 性.类似于java中的javabean的操作,

js面向对象篇(一)

Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类). ----摘自阮一峰老师的博客 当然现在的es6中已经有了class,去声明一个类,让js看上去更像是一个面对对象编程的语言 那么问题来了什么是面向对象呢?其实js是有很多种写法的,我们平时一般写的程序都是面向过程式的,就像这样 var a = 1; function show(opt){ alert(opt)

亮剑.NET学习札记

学习前提要: 因为书的版本过老,有些章节不学了,要学的包括以下章节 暂定:1,2,4,5,6,7,9,10,11,12,13,14,15,16,17,18,附录A 第一章:主要是介绍.NET,包括面向对象,即一些用法. 1.什么是.NET 多指.NET Framework 是一个开发和执行环境,与硬件无关的程序执行平台,目的是实现一次编写,到处运行,目前平台还只是windows,但已有了跨平台的.NET基于MONO,.NET将程序编译成中间语言,再根据具体的硬件环境编译成可执行文件. 2.继承

Mongodb 副本集分片(一)---初始化mongodb安装启动

写在前面:mongodb是nosql非关系型数据库中,比较受欢迎的产品.在数据持久化及与关系型数据库的关联上也做的比较好,目前各大公司在存放二进制文件(图片.视频等)中应用也比较广泛.其遵循的key-value的数据模式及面向对象的json语句用法,也比较简单.在之后,会系列的跟大家分享,我在学习及生产应用中,使用到的mongodb的一些心得.希望大家共同学习,共同研究探讨.谢谢. 以下内容,是简单的将整个mongodb的安装过程,进行shell脚本化编辑.很简单的脚本编写.如有任何问题,欢迎大

中文汉字转换拼音PHP类

1 <?php 2 /** 3 * 中文汉字转换拼音类 4 * 功能支持 5 * 1.支持中文转换全拼 6 * 2.支持中文转换简拼(首字母) 7 * 3.支持转换的字符串返回格式设置(字符中间的间隔字符) 8 * 方法包含四个可以直接调用 请查看类注释 以及调用示例 9 * getJp.getQp.getJpDelimiter.getQpDelimiter 10 * 11 * 以下是研究本代码看懂本类需要的知识点: 12 * 1.掌握PHP的面向对象编程的基本用法 13 * 2.掌握计算机AS

DjangoRestFramework学习二之序列化组件、视图组件

目录 DjangoRestFramework学习二之序列化组件.视图组件 一 序列化组件 二 视图组件(Mixin混合类) DjangoRestFramework学习二之序列化组件.视图组件 本节目录 一 序列化组件 首先按照restful规范咱们创建一些api接口,按照下面这些形式写吧: Courses --- GET ---> 查看数据----->返回所有数据列表[{},{},] Courses--- POST --->添加数据 -----> 返回添加的数据{ } course

19.DjangoRestFramework学习二之序列化组件、视图组件

一 序列化组件 首先按照restful规范咱们创建一些api接口,按照下面这些形式写吧: Courses --- GET ---> 查看数据----->返回所有数据列表[{},{},] Courses--- POST --->添加数据 -----> 返回添加的数据{ } courses/1 ---PUT---> 更新pk=1的数据 ----->返回更新后的数据{ } courses/1 --- DELETE---> 删除pk=1的数据 -----> 返回空