javascript中 对象创建的三种方式及其调用方法

JavaScript中有以下三种方法创建对象

  1. 使用内置的对象 : var 对象名 = new Object();
  2. 使用JSON格式 : var 对象名 = {key : value, key : value}
  3. 自定义对象构造 : function 对象名(){}

使用内置的对象

JavaScript可用的内置对象可分为两种
1,JavaScript语言原生对象(语言级对象),如String、Object、Function等;
2,JavaScript运行期的宿主对象(环境宿主级对象),如window、document、body等。

var object = new Object();//示例初始化一个Object 
var str = new String("xxxx");
var str1 = "xxxx";

var 函数名 = new Function(参数,函数体);
var func = new Function("x","alert(x)");//示例初始化

使用JSON 的格式

var somebooks = {
book:[{name:"三国演义"},{name:"西游记"},{name:"水浒传"},{name:"红楼梦"}],
author:[{name:"罗贯中"},{name:"吴承恩"},{name:"施耐安",{name:"曹雪芹"}}]
} 

JSON的每个“键”相当于对象的属性,例如访问book中的第一个条目,在JavaScript中,就可以简单地使用“somebooks.book[0].name”来获取“三国演义”这个值。


自定义对象构造

创建高级对象构造有两种方式:使用“this”关键字构造、使用原型prototype构造。如:

//使用this关键字定义构造的上下文属性
function Girl()
{
this.name = "big pig";
this.age = 20;
this.standing;
this.bust;
this.waist;
this.hip;
}

//使用prototype
function Girl(){}
Girl.prototype.name = "big pig";
Girl.prototype.age = 20;
Girl.prototype.standing;
Girl.prototype.bust;
Girl.prototype.waist;
Girl.prototype.hip;
alert(new Girl().name); 

“this”与“prototype”定义的另一个不同点是属性的占用空间不同。使用“this”关键字,示例初始化时为每个实例开辟构造方法所包含的所有属性、方法所需的空间,而使用“prototype”定义,由于“prototype”实际上是指向父级的一种引用,仅仅是个数据的副本,因此在初始化及存储上都比“this”节约资源。

以上部分我节选或修改自:http://www.jb51.net/article/20428.htm


对象的调用方法

对象具有属性和方法:

  调用:
          对象名.属性名;
          对象名.方法名();
  修改:
          对象名.属性名 = 新的属性值;
          对象名.方法名 = 新的function
  增加:
          对象名.新的属性名 = 新的属性值;
          对象名.新的方法名 = 新的function
  删除:
          delete 对象名.属性名;
          delete 对象名.方法名;

你可能感兴趣的:(JavaScript)