怎样创建Javascript对象?

感谢小秦帮我指出错误:
  JSON只是一种数据形式,而不是你所谓的当然。
{xx:’111′}  这是一个对象,这个对象有一个属性名为 xx 值为 ’111′
而不是JSON。

还有那个Create,也只是变相的使用函数返回一个对象而已。

从根本上来讲,创建一个对象可以使用 new _object_,或者 {}  ,

“{}”这种形式其实是new _object_的简写。
就像 [] 是 new Array();的缩写一样。

更何况,在JS里一切都是对象。

比如:
1
 就是一个对象,它有 .toString方法,等等。。

      前几天写了一篇揭开Javascript对象神秘的面纱,结果网上一位牛人转载了我的文章,我的还没收录,他转载的竟然先被收录了,无语。在此鄙视百度。

      本来事情该告一段落了,但是论坛上有位网友告诉我说只测试function的方法成功了,其他都不行。汗,今晚抽点空,写几个例子,下载地址为:http://www.miaoqiyuan.cn/products/js-obj.rar

第一种:function方式,用new fun_name的方式创建对象

function miaoqiyuan() {
	this.name="苗启源";
	this.nickname="飞猫,mqycn";
	this.homeurl=function() {
		alert("http://www.miaoqiyuan.cn");
	};
	this.gohome=function() {
		location.href="http://www.miaoqiyuan.cn";
	}
}
var x=new miaoqiyuan;
x.homeurl();

第二种:直接创建对象的方式

var miaoqiyuan={
	name:"苗启源",
	nickname:"飞猫,mqycn",
	homeurl: function() {
		alert("http://www.miaoqiyuan.cn");
	},
	gohome: function() {
		location.href="http://www.miaoqiyuan.cn";
	}
};
miaoqiyuan.homeurl();

第三种:原型方式(这个我写了两个方式)

var miaoqiyuan = {};
miaoqiyuan.prototype=miaoqiyuan;
miaoqiyuan.prototype.name ="苗启源";
miaoqiyuan.prototype.nickname ="mqycn,飞猫";
miaoqiyuan.prototype.homeurl = function() {
	alert("http://www.miaoqiyuan.cn");
};
miaoqiyuan.prototype.gohome= function() {
	location.href="http://www.miaoqiyuan.cn";
};
miaoqiyuan.homeurl();
<script type="text/javascript">
var miaoqiyuan = {};
miaoqiyuan.prototype=miaoqiyuan;
miaoqiyuan.prototype={
	name:"苗启源";
	nickname:"mqycn,飞猫";
	homeurl:function() {
		alert("http://www.miaoqiyuan.cn");
	};
	gohome:function() {
		location.href="http://www.miaoqiyuan.cn";
	};
}
miaoqiyuan.homeurl();
</script>

第四种:create方式,该方式利用了Prototype JavaScript组件库,很少见有人用
实际上这个只是变相的使用函数返回一个对象而已。

//模拟prototype.js框架中的Class
var Class = {create: function() {return function(){}}}
//模拟prototype.js框架中的Object
Object.extend=function(destination, source){
	for(var property in source)
		destination[property] = source[property];
	return destination;
}; 
 
var miaoqiyuan = Class.create();
Object.extend(miaoqiyuan.prototype,{
	name:"苗启源",
	nickname:"飞猫,mqycn",
	homeurl: function() {
		alert("http://www.miaoqiyuan.cn");
	},
	gohome: function() {
		location.href="http://www.miaoqiyuan.cn";
	}
});
var m=new miaoqiyuan;
m.homeurl();

怎样创建Javascript对象?》上有2条评论

  1. 小秦

    看了你的介绍真是相当的无语。。。

    JSON,create真是可笑。

    连了基本的 new Object你都没写,而且还竟然把{}这种形式创建的对象称做JSON。。。太可笑了。

  2. mqycn 文章作者

    JSON方式创建的已经是一个对象了
    你可以测试一下
    当然我对概念也不是很了解,还请你多多指教

发表评论

电子邮件地址不会被公开。 必填项已用*标注