(9)自定义对象:四种方式
来源:互联网 发布:linux的图形界面工具 编辑:程序博客网 时间:2024/06/18 08:12
js自定义对象,应该先对对象进行描述。
js是基于对象,不是面向对象,不具备描述事物的能力。
我们还想按照面向对象的思想编写。
就要先描述,在js中,可以通过函数来模拟面向对象中的描述
下面创建对象是4种方式,但是调用对象成员均有两种方法
调用属性①p[“属性名”] ②p.属性名
调用方法①p[“属性名”]()②p.方法名
而且可以在创建了对象后,任意添加方法或者属性,若用本对象属性,则用this
方法一、定义构造函数,然后通过构造函数声明对象
function Person()//相当于构造器 { } //通过描述进行对象的建立 new,在声明一个对象实例时,必须使用new关键字 var p=new Person(); //对象的成员(属性和函数)可以无限制的添加 //动态给p对象添加属性,直接用p.属性名即可 p.name="zhangsan"; p.age=29; //如果定义的p对象的属性赋值为一个函数,即是给p对象添加一个方法 p.show=function() { alert("show:"+this.name+":"+this.age); } //访问对象属性两种方法:①对象名.成员名 p.show();
方法二、创建Object对象,然后用此对象创建属性或者方法
var obj=new Object(); obj.name="god father"; obj.age="66666"; alert(obj.name+":"+obj.age);
方法三、模拟Java中类,即先抽象描述事物,再创建对象
//第三种方式:描述事物,然后创建对象 /* function Person(name,age) { //给Person对象添加两个属性 this.name=name; this.age=age; //添加两个方法,注意this.在js中不能省略 this.setName= function (name) { this.name=name; } this.getName=function() { return this.name; } } var p=new Person("旺财",20); println(p.name); p.setName("小强"); println(p.getName()); for(x in p) { println(x+":"+p[x]);//属性或者函数 }
方法四、键值对方式创建对象
var pp={ //定义一些成员 "name":"小明","age":26, "getName":function() { return this.name; } } //对象调用成员有两种方式:对象.属性名 对象["属性名"] println(pp["age"]+":"+pp.name); var Map= { 8:"小强",3:"旺财",7:"小明" } function get(key) { return Map[key]; } var s=get(7); println(s);
方法四中更复杂的应用
var myMap={ name:["小a","小b","小c"],nums:[21,24,36], names:[{name1:"zhangsan"},{myname:"hahah"}] } println(myMap.name[1]);//myMap.names是个数组,所以可以用索引指定输出内容 println(myMap.names[0].name1);
阅读全文
0 0
- (9)自定义对象:四种方式
- js----自定义对象的四种创建方式
- 四种不同的对象生存方式
- JAVASCRIPT定义对象的四种方式
- C++对象赋值的四种方式
- java创建对象的四种方式
- JAVASCRIPT定义对象的四种方式
- javascript的四种创建对象方式
- 四种对象的生存方式
- 对象的四种引用方式
- Java 创建对象的四种方式
- Java创建对象的四种方式
- Java创建对象的四种方式
- JavaScript创建对象的四种方式
- 创建对象的四种方式
- JavaScript创建对象的四种方式
- Java 创建对象的四种方式
- java创建对象的四种方式
- 阻止默认事件行为和事件冒泡
- 多个input文字方框中,默认字体是灰色,,输入字时,字体变成黑色
- Centos7 can't connect ot Internet but IP & ssh from local works
- java数据类型
- 计算机视觉笔记(一) 初探计算机视觉
- (9)自定义对象:四种方式
- Oracle字符集的查看查询和Oracle字符集的设置修改
- 1978-全排列
- nfs 网络文件共享
- 从零开发一个完整的Android项目(一)——前言
- 理解Java线程的中断
- 283. Move Zeroes
- 设计模式之状态模式
- 类和对象