怎样创建Javascript对象?
感谢小秦帮我指出错误:
JSON只是一种数据形式,而不是你所谓的当然。
{xx:’111′} 这是一个对象,这个对象有一个属性名为 xx 值为 ’111′
而不是JSON。
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();
看了你的介绍真是相当的无语。。。
JSON,create真是可笑。
连了基本的 new Object你都没写,而且还竟然把{}这种形式创建的对象称做JSON。。。太可笑了。
JSON方式创建的已经是一个对象了
你可以测试一下
当然我对概念也不是很了解,还请你多多指教