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

来源:互联网 发布:知乎精彩回答 微盘 编辑:程序博客网 时间:2024/06/10 00:07

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;}//使用prototypefunction 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 对象名.方法名;
原创粉丝点击