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>的更多相关文章

  1. JavaScript基础-面向对象编程<1>

    1.1 函数与对象  1.定义函数的方式定义类 定义类的方法: function class1(){ //类成员的定义及构造函数部分 } class1既是一个函数,也是一个类. 使用 new 操作符获 ...

  2. JavaScript的面向对象编程(OOP)(一)——类

    在学习JavaScript面向对象的编程之前,需要知道,并了解面向对象的一些基本的常识.初学者中大多数都以为面向对象中,面向对象的编程是很重要和占据很大一部分精力.笔者在之前也是认为OOP是面向对象的 ...

  3. python基础——面向对象编程

    python基础——面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的 ...

  4. 大数据技术之_16_Scala学习_04_函数式编程-基础+面向对象编程-基础

    第五章 函数式编程-基础5.1 函数式编程内容说明5.1.1 函数式编程内容5.1.2 函数式编程授课顺序5.2 函数式编程介绍5.2.1 几个概念的说明5.2.2 方法.函数.函数式编程和面向对象编 ...

  5. javascript的面向对象编程

    面象对象编程技术的核心理念:封装.继承.多态:在一些主流的高级编程语言中,比如:C#,VB.NET,JAVA,PHP等都是很容易实现的,而如果要在javascript中实现面象对象编程,可就不那么直接 ...

  6. python基础-面向对象编程

    一.三大编程范式 编程范式即编程的方法论,标识一种编程风格 三大编程范式: 1.面向过程编程 2.函数式编程 3.面向对象编程 二.编程进化论 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 ...

  7. Javascript 进阶 面向对象编程 继承的一个样例

    Javascript的难点就是面向对象编程,上一篇介绍了Javascript的两种继承方式:Javascript 进阶 继承.这篇使用一个样例来展示js怎样面向对象编程.以及怎样基于类实现继承. 1. ...

  8. Javascript 进阶 面向对象编程 继承的一个例子

    Javascript的难点就是面向对象编程,上一篇介绍了Javascript的两种继承方式:Javascript 进阶 继承,这篇使用一个例子来展示js如何面向对象编程,以及如何基于类实现继承. 1. ...

  9. Python基础 — 面向对象编程基础

    目录 1. 面向对象编程基础 2. 定义类和创建对象 3. init() 方法 4. 魔法方法 5. 访问可见性问题 5. 练习 1. 面向对象编程基础 把一组数据结构和处理它们的方法组成对象(obj ...

随机推荐

  1. iOS开发-网络-合理封装请求接口

    概述 如今大多App都会与网络打交道,作为开发者,合理的对网络后台请求接口进行封装十分重要.本文要介绍的就是一种常见的采用回调函数(方法)的网络接口封装,也算的是一种构架吧. 这个构架主要的idea是 ...

  2. Microsoft PetShop 集锦

    一.pet shop 2.0 项目概述与架构分析微软刚推出了基于ASP.NET 2.0下的Pet Shop 4, 该版本有了一个全新的用户界面.是研究ASP.NET 2.0的好范例啊 PetShop ...

  3. cocos2d-x 手势之简单实现

    转自:http://blog.sina.com.cn/s/blog_61ece099010187tl.html 手势之前也发过一篇,但是我感觉那个还不够轻巧. 而且大多数游戏里面不会有那么复杂的手势, ...

  4. linux提权总结(外文)

    Before starting, I would like to point out - I'm no expert. As far as I know, there isn't a "ma ...

  5. ThinkPHP3.2.3新特性之:数据库设置

    ThinkPHP3.2.3版本数据库驱动采用PDO完全重写,配置和使用上面也比之前版本更加灵活和强大,我们来了解下如何使用. 首先,3.2.3的数据库配置信息有所调整,完整的数据库设置包括: /* 数 ...

  6. 微信公众平台java开发详解(工程代码+解析)

    原文:http://blog.csdn.net/pamchen/article/details/38718947 说明:本次的教程主要是对微信公众平台开发者模式的讲解,网络上很多类似文章,但很多都让初 ...

  7. Android中由IP地址查询经纬度坐标的实例

    大家都知道,根据IP地址就可以知道它所在的具体位置,在Android中同样可以由IP地址得到它的位置,即具体的地理经纬度坐标. 本文就直接以代码的方式演示如何根据IP地址查询地理经纬度坐标位置,下面的 ...

  8. MFC——从实现角度分析微云界面

    在云计算时代之风吹来,很多互联网公司都在建云,提出云盘.云储存.云平台.云空间等等,骤然间,天下皆云.云是啥?有用户量,就有云,没有用户量,你的系统,你的云,也就是一朵白云. 最近研究了下微云的界面, ...

  9. leetcode解决问题的方法||Integer to Roman问题

    problem: Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range ...

  10. Struts2中的类型转换

    1.     Struts2中的类型转换 我们知道通过HTTP提交到后台的数据,都是字符串的形式,而我们需要的数据类型当然不只字符串类型一种.所以,我们需要类型转换! 在Struts2中,类型转换的概 ...