JavaScript基础-面向对象编程<2>
2.动态添加,修改和删除对象属性和方法
例如:用类Object()创建一个空对象user,然后修改其行为。
(1) 添加属性
var user=new Object(); //创建一个没有属性和方法的空对象
user.name="jack"; //添加属性name
user.age=21; //添加属性age
user.sex="male"
若输出结果,可用alert(user.name)等语句进行显示。
(2)添加方法
针对前面的空对象user,添加一个方法 alert():
user.alert=function(){
alert("my name is:"+this.name);
}
调用:user.alert(); //可显示其名字为jack
(3)修改属性和方法
修改就是用新属性替换旧属性。
例如:
user.name="tom";
user.alert=function(){
alert("hello,"+this.name); //这时的方法中name属性已经已经替换为tom
}
若用弹出对话框显示其内容,user.alert()值为 "hello,tom"。
(4)删除属性和方法
其实,删除属性或方法就是将其值定义为undefined,即
user.name=undefined;
user.alert=undefined;
3.使用大括号语法创建无类型对象
其语法为:
{
property1:statement,
property2:statement,
.......,
propertyN:statementN }
这里通过使用大括号,使多个属性或方法成为一个组,实现对象的定义。
示例 :使用大括号语法创建一对象
<script language="javascript" type="text/javascript">
var obj={ }; //定义一个空对象, 等同于 var obj=new Object();
var user={
name:"jack", //定义name属性并赋初值
favoriteColor:["red","green","black"], //定义颜色数组
hello:function(){ //定义方法
alert("hello"+this.name);
},
sex:"male"
}
user.hello(); //调用方法 </script>
4.prototype对象
每个函数其实也是一个对象,它们对应的类是 function. 它们具有特殊的身份,每个函数对象都具有一个子对象prototype,即prototype表示了该函数的原型。而函数也是
类,prototype就是表示了一个类的成员集合。
既然 protoype是一个对象,也可以动态地对其属性和方法进行修改
例如:
function class1(){
// 空函数
} class1.protoype.method=function(){ // 增加方法 alert("it's a text method");
}
var obj1 =new class1();
obj1.method; //调用对象方法
JavaScript基础-面向对象编程<2>的更多相关文章
- JavaScript基础-面向对象编程<1>
1.1 函数与对象 1.定义函数的方式定义类 定义类的方法: function class1(){ //类成员的定义及构造函数部分 } class1既是一个函数,也是一个类. 使用 new 操作符获 ...
- JavaScript的面向对象编程(OOP)(一)——类
在学习JavaScript面向对象的编程之前,需要知道,并了解面向对象的一些基本的常识.初学者中大多数都以为面向对象中,面向对象的编程是很重要和占据很大一部分精力.笔者在之前也是认为OOP是面向对象的 ...
- python基础——面向对象编程
python基础——面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的 ...
- 大数据技术之_16_Scala学习_04_函数式编程-基础+面向对象编程-基础
第五章 函数式编程-基础5.1 函数式编程内容说明5.1.1 函数式编程内容5.1.2 函数式编程授课顺序5.2 函数式编程介绍5.2.1 几个概念的说明5.2.2 方法.函数.函数式编程和面向对象编 ...
- javascript的面向对象编程
面象对象编程技术的核心理念:封装.继承.多态:在一些主流的高级编程语言中,比如:C#,VB.NET,JAVA,PHP等都是很容易实现的,而如果要在javascript中实现面象对象编程,可就不那么直接 ...
- python基础-面向对象编程
一.三大编程范式 编程范式即编程的方法论,标识一种编程风格 三大编程范式: 1.面向过程编程 2.函数式编程 3.面向对象编程 二.编程进化论 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 ...
- Javascript 进阶 面向对象编程 继承的一个样例
Javascript的难点就是面向对象编程,上一篇介绍了Javascript的两种继承方式:Javascript 进阶 继承.这篇使用一个样例来展示js怎样面向对象编程.以及怎样基于类实现继承. 1. ...
- Javascript 进阶 面向对象编程 继承的一个例子
Javascript的难点就是面向对象编程,上一篇介绍了Javascript的两种继承方式:Javascript 进阶 继承,这篇使用一个例子来展示js如何面向对象编程,以及如何基于类实现继承. 1. ...
- Python基础 — 面向对象编程基础
目录 1. 面向对象编程基础 2. 定义类和创建对象 3. init() 方法 4. 魔法方法 5. 访问可见性问题 5. 练习 1. 面向对象编程基础 把一组数据结构和处理它们的方法组成对象(obj ...
随机推荐
- Unity3D之AssetBundle学习:Android上运行笔记
路径统一 在Android上加载StreamingAssets文件夹下的AssetBundle文件,首先需要对加载地址进行处理,注意PC.Android和IOS的地址不一致需要针对不同的平台不同的处理 ...
- PowerDesigner 企业架构模型 ( EAM )
PowerDesigner 企业架构模型 ( EAM ) 说明 file工作数据库框架application网络 目录(?)[+] 一. 企业架构模型 说明 EnterpriseArchite ...
- ios引导页 设定以及 图片尺寸
iphone的屏幕尺寸有着几种: iphone 4/4s: 3.5 寸 分辨率:640X960 高宽比 640/960 = 1.5 iphone 5/5c/5s:4 寸 分辨率:640X1136 ...
- git 快速入门(二)
一.引子 git代码托管的优秀工具之一, 其工作原理和svn截然不同.一旦拥有主干master分支权限, 只要在本地拉取主干分支, 可以随时随地切换分支. 它拥有众多优点,eg :支持在断网的情况下, ...
- java异步任务处理
1.场景 最近做项目的时候遇到了一个小问题:从前台提交到服务端A,A调用服务端B处理超时,原因是前端一次请求往db插1万数据,插完之后会去清理缓存.发送消息. 服务端的有三个操作 a.插DB b.清理 ...
- mac svn的替代品CornerStone
推荐mac CornerStone客户端图形软件,类似windows下svn tortoise. 一.下载地址 : http://bbs.feng.com/read-htm-tid-7936664.h ...
- Winform 注册机通用软件注册功能之建立有效的软件保护机制
本文转载:http://www.cnblogs.com/umplatform/archive/2013/01/23/2873001.html 众所周知,一些共享软件往往提供给使用者的是一个功能不受限制 ...
- PS Studio调用.exe输出错误信息的解决办法
在一个button_click下调用了如下外部可执行文件: $button1_Click = { #TODO: Place custom script here .\PsExec.exe \\192. ...
- android常见错误--INSTALL_FAILED_DEXOPT
出现上面的问题,是由于手机的内存不足导致的,需要清理一下手机的内存,然后就可以了
- Android选择系统相册或拍照上传
PhotoUtils.rar