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 ...
随机推荐
- 高效使用Bitmaps(三) 神奇的Cache
转载:http://my.oschina.net/rengwuxian/blog/184650 应用的场景 假设你开发了一个聊天程序,它的好友列表中显示从网络获取的好友头像.可是如果用户发现每次进入好 ...
- java+hadoop+spark+hbase+scala+kafka+zookeeper配置环境变量记录备忘
java+hadoop+spark+hbase+scala 在/etc/profile 下面加上如下环境变量 export JAVA_HOME=/usr/java/jdk1.8.0_102 expor ...
- LocalDB 的创建与迁移
首先创建对应的对象 public class Movie { public int ID { get; set; } public string Title { get; set; } public ...
- 对struts2的基本知识和环境的搭建(配图解)
Struts2的优点: Struts2是由webwork2发展过来的.属于无侵入式设计.而struts1是入侵是设置. Struts2跟servlet API没有紧密的联系. struts2提供了拦截 ...
- ASP终极防下载(转)
自从搞ASP+ACCESS没少为避免数据库下载而伤过神,网上的奇淫技巧更是数不胜数,本文就是同大家共同探讨各路前辈的留下的秘笈并指中其中的优劣,最后为大家提供一种最佳的解决方案. 一.开篇 自从搞AS ...
- 实战:ORACLE SQL Performance Analyzer
通过 SPA,您能够依据各种更改类型(如初始化參数更改.优化器统计刷新和数据库升级)播放特定的 SQL 或整个 SQL 负载,然后生成比較报告,帮助您评估它们的影响. 在 Oracle Databas ...
- android学习日记17--Gallery(画廊视图)
一.Gallery 1.简述 Gallery有道翻译为画廊,就叫它画廊控件,主要用来可切换的图片展示,左右滑动可以选择上一张或下一张图片. 个人感觉蛮实用的,不过google貌似不推荐使用啊! 2.常 ...
- wcf-2
1.前言 上一篇,我 们通过VS自带的模板引擎自动生成了一个wcf程序,接下来我们将手动实现一个wcf程序.由于应用程序开发中一般都会涉及到大量的增删改查业务,所以这 个程序将简单演示如何在wcf中构 ...
- STL——空间的配置和释放std::alloc(第一级配置器和第二级配置器)
1 空间的配置和释放,std::alloc 对象构造前的空间配置和对象析构后的空间释放,由<stl_alloc.h>负责,SGI对此的设计哲学如下: 向system heap要求空间 考虑 ...
- C#_datatable 写入大量数据_BulkCopy
using Microsoft.Win32; using System; using System.Collections.Generic; using System.Configuration; u ...