javascriptの创建对象
来源:互联网 发布:日志服务器软件 编辑:程序博客网 时间:2024/06/05 04:17
创建对象的基本方法
var box = new Object(); //创建一个Object对象box.name = 'Lee'; //创建一个name属性并赋值box.age = 100; //创建一个age属性并赋值box.run = function() { //创建一个run方法并返回值 return this.name + this.age + "running...";}alert(box.run()); //输出属性和方法的值
上面创建一个对象,并且创建了属性和方法,在run()方法中的this,代表的是box对象本身.这是最基本的创建对象的方法,但有个缺点,想创建一个类似的对象,会产生大量的代码.
工厂模式
解决多个类似对象的声明问题,可解决实例化产生大量代码重复的问题.
function createObject( name, age ) { var obj = new Object(); obj.name = name; obj.age = age; obj.run = function() { return this.name + this.age + "running..."; }; return obj;}var box1 = createObject('Lee',10);var box2 = createObject('Mike',20);
工厂模式解决了重复实例化的问题,但是不能解决识别问题,因为根本无法搞清楚他们到底是哪个对象的实例.
alert(typeof box1); //Objectalert(box1 instanceof Object); //true
构造函数
ECMAScript中可以采用构造函数(构造方法)来创建特定的对象.类似于Object对象
function Box(name,age) { this.name = name; this.age = age; this.run = function() { return this.name + this.age + 'running...'; }}var box1 = new Box('Lee',10);var box2 = new Box('Mike',20);
使用构造函数,和使用工厂模式的方法的不同之处在于:
- 构造函数方法没有显示的创建对象(new Object());
- 直接将属性和方法赋值给this对象
- 没有return语句
构造函数的方法的一些规范:
- 函数名和实例化构造名相同且大写(非强制)
- 通过构造函数创建对象,必须使用new运算符.
构造函数执行的过程:
- 当使用了构造函数,并且new构造函数(),那么就后台执行了new Object();
- 将构造函数的作用域给新对象,而函数体内的this就代表new Object()出来的对象.
- 执行构造函数内的代码.
- 返回新对象(后台直接返回)
this
this就是代表当前作用域对象的引用.如果在全局范围this就代表window对象,如果在构造函数体内,就代表当前的构造函数所声明的对象.
读写属性
读取对象的属性,有两种方法,一种是使用点运算符,还有一种是使用方括号运算符.
var o = { p : "Hello World"};o.p //"Hello World"o["p"] //"Hello World"
删除属性
var o = {p :1};object.kedys(o) //["p"]delete o.p //trueo.p //undefinedobject.keys(o) //[]
一旦使用delete命令删除某个属性,再读取该属性就会返回undefined
with语句
格式
with (object) statement
它的作用是操作同一个对象的多个属性时,提供一些书写的方便
with (o) { p1 = 1; p2 = 2;}//等同于o.p1 = 1;o.p2 = 2;
0 0
- javascriptの创建对象
- javaScript--创建对象
- Javascript创建对象
- JavaScript中创建对象
- Javascript创建对象
- javascript 创建对象
- javascript创建createXmlHttpRequest对象
- javascript 创建自定义对象
- javascript 创建一次性对象
- JavaScript对象的创建
- JavaScript对象的创建
- javascript对象创建过程
- javascript对象的创建
- 创建 JavaScript 对象
- javascript对象创建过程
- javascript 创建对象
- JavaScript 对象创建方法
- JavaScript 创建对象
- MFC 关闭窗口最小化到托盘,并产生气泡消息提醒
- Java递归 遍历目录的小例子
- Unity3D研究院之Assetbundle的原理
- Android 自定义RecyclerView 实现真正的Gallery效果
- Objective-C学习笔记七:类的定义一
- javascriptの创建对象
- 无法用排他锁锁定该数据库,以执行该操作。 (Microsoft SQL Server,错误: 5030)
- 软工视频总结之需求分析
- .Net Program Unable to copy a file from obj\Debug to bin\Debug
- bq2031
- 软件设计师2013年上半年错题整理
- 出现 java.util.ConcurrentModificationException
- IOS-添加分段控件SegmentControl
- Thread类中sleep是为什么是静态方法