文档章节

Javascript面向对象编程

别寒
 别寒
发布于 2014/06/04 11:50
字数 355
阅读 15
收藏 0
点赞 0
评论 0

 

this关键字:

 

this这个关键字使用得非常广泛,代表的是当前的对象。呃,大概就是这么个意思哈。

 

function User(){}

var u1 = new User();

u1.name=何洪波;

u1.age=21;

alert(u1.name+ +p1.age);

var u2 = new User();

alert(u2.name);// 这里会输出 undefine

 

在实际编程中,我们可能会有这样的需求,当我们创建一个对象后,就希望该对象自动拥有某些属性,比如:我们创建User对象后,希望该对象自动拥有nameage属性

 

嘿嘿,我们可以使用this来解决

function User(){

this.name=hehongbo;

this.age=21;

}

var u1 = new User();

var u2 = new User();

alert(u1.name+  +u2.name);

 

this关键字可不止这么点作用哦,当在函数申明的时候使用,它又代表这更深一层的含义:

 

function User(){

var name=hehongbo;// var name 表示name这个属性是私有的

var age=21;

this.name2=何洪波;// this.name 表示name这个属性是公开的

 

this.show=function(){  // 这是User类的公开方法

alert(name+  +age);

}

 

function show2(){  // 这是User类的私有方法,只能在User类中使用

 

}

}

var u1 = new User();

u1.show();

 

如你所见,this在申明函数(方法)的时候使用,控制了方法的作用域范围。

 

问题:

function test(){

alert(this.v);

}

var v=10;

test();// 输出什么

 

function 类名(){

this.属性名;// 公开属性

var 属性名;// 私有属性

}

 

this只能在类的内部使用

 


© 著作权归作者所有

共有 人打赏支持
别寒
粉丝 30
博文 269
码字总数 136120
作品 0
永州
程序员
js面向对象的一些初级知识总结~~

javascript作为一门解释性脚本语言,有着其独特的魅力.既具有函数编程的特性,又具有面向对象的特征.以前的开发中,大多是使用了javascript的函数式编程,最近,发现其的面向对象也有一定的优势,...

乔康007
2013/02/24
0
0
JavaScript入门(六)

对象 对象是我们使用JavaScript的核心。JavaScript中的对象在许多方面和编程外的现实世界中的对象是相似的(它并不存在,我只是做个设想)。在现实的世界中,一个对象就是一个“事物”(许多...

晨曦之光
2012/03/09
0
0
细说JavaScript数据类型及转换

细说JavaScript数据类型及转换 JavaScript数据类型 1.Boolean(布尔) 布尔:(值类型)var b1=true;//布尔类型 2.Number(数字) 数值:(值类型)var n1=3.1415926;//数值类型 n1.toFixed...

开元中国2015
2015/07/13
0
0
关于Python的类成员和Javascript的原型

偶然发现两个的设计思路是一致的(个人理解,欢迎指正)。这里简要分析一下: Python的类成员,也就是直接定义在类里的变量(实例成员是用self.x直接声明的),而类方法就是用@classmethod说...

Shawphy
2011/08/30
0
2
面向对象,更适合JavaScript

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

陈宏鸿
05/07
0
0
JavaScript继承详解(一)

面向对象与基于对象 几乎每个开发人员都有面向对象语言(比如C++、C#、Java)的开发经验。 在传统面向对象的语言中,有两个非常重要的概念 - 类和实例。 类定义了一类事物公共的行为和方法;...

solu
2010/12/25
0
0
Javascript定义类(class)的三种方法

将近20年前,Javascript诞生的时候,只是一种简单的网页脚本语言。如果你忘了填写用户名,它就跳出一个警告。 如今,它变得几乎无所不能,从前端到后端,有着各种匪夷所思的用途。程序员用它...

陈一奇
2012/07/12
0
0
三分钟读懂Java与JavaScript的区别,让小白摘帽

Java跟JavaScript虽然在名称上有些许相似,但其实是两种完全不同的语言。Java是一种程序设计语言,JavaScript是客户端的脚本语言,把这两样东西放在一起比较在科学上其实并不严谨。但它们唯一...

小欣妹妹
2017/10/21
0
0
零基础的网站开发初学者如何系统的学习?

A.学习背景 开始网站开发,起先是从手机网站的UBB语法开始的,也因此有了深入学习的兴趣。为了让学习的热情膨胀,我有意的培养这一爱好 ,定位了自己要成为一名优秀的网站开发员的目标。 作为...

李佳顺
2012/12/25
0
3
第一章—JavaScript简介

一.①DOM:Document Object Model文件对象模型 ②AJAX:Asynchronous Javascript And XML异步Javascript和XML ③CSS,Cascading Style Sheets,级联样式表 ④ECMAScript(European Computer......

湖心亭看雪
2014/10/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

jquery获取当前日期并且格式化

1.制定Format规则 //时间格式化问题Date.prototype.Format = function (fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 ......

gulf
1分钟前
0
0
Spring5(Java8版本)中的反射工具类和注解工具类

1.反射工具类 学习反射时很好的反射教程.这个工具类是基于Java8的。 package org.springframework.util;import java.lang.reflect.Constructor;import java.lang.reflect.Field;imp...

hutaishi
2分钟前
0
0
java io

Java IO在实际开发中的应用 http://www.cnblogs.com/ldh-better/p/7158658.html

小鱼吃大鱼
2分钟前
0
0
初见 react(当 React 版本是 ^16.2.0,当前时间 2018-01-12)

最近一段时间在零零碎碎地看 react 。在此,向所有自学 react 的朋友点个赞。多说一句,在自学道路上一定要戒骄戒躁,坚持下来。-----因为自学过程真的是心累啊(不同版本的博客不同的说法)...

秋季长青
3分钟前
0
0
grub2要启动整个iso的菜单命令如下

grub2要启动整个iso的菜单命令如下 menuentry "启动 Deepin OS Live System" --class deepin { set isofile=/DeepinOS.iso search -f --no-floppy --set=root $isofile set gfxpayload=keep ......

ziluopao
10分钟前
1
0
vue如何使用富文本编辑器wangEditor及图片上传

npm安装wangEditor npm install wangeditor --save /wangeditor需要小写/ vue页面导入wangEditor import Editor from 'wangeditor' export default { data () { return { ......

心鑫
14分钟前
0
0
乐观锁

最近公司一个项目中会遇到一个用户记录被多次插入的情况。其实在保存之前先判断有没有的。 觉得可以采用乐观锁机制来解决问题。 JPA之@Version进行乐观锁并发更新 使用JPA实现乐观锁 spring...

miaojiangmin
16分钟前
1
0
flowable 清除流程部署缓存

flowable 或者activity 修改流程图后 需要重启服务器。此文档可解决不用重启服务器,直接干货 public class DeploymentCacheCmd implements Command<Deployment>, Serializable { priv...

装死的乌龟
21分钟前
0
1
安装APK报错 INSTALL_FAILED_TEST_ONLY终极解决方案

1、检查\app\src\main\AndroidMainfest.xml中是否有testOnly属性为true,如果有去掉或者改为false 2、检查Android Studio和gradle版本是否为alpha版本,换为稳定版本 3、检查是否关闭Instant...

harukong
24分钟前
0
0
并发插入引发的死锁问题排查

一.业务背景 我们现在的业务是一款数据产品,有不少实时计算和爬取来的数据都汇总到大数据仓库、数据挖掘平台ODPS上。然后应用在读取这些数据时,这些数据会先导入到并发读能力更强,适合结构...

tantexian
26分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部