`

JavaScript创建对象的几种方式

阅读更多
  在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的。

  JS对象是一种复合类型,它允许你通过变量名存储和访问,换一种思路,对象是一个无序的属性集合,集合中的每一项都由名称和值组成(听起来是不是很像我们常听说的HASH表、字典、健/值对?),而其中的值类型可能是内置类型(如number,string),也可能是对象。
  以下是我在学习中所总结的例子:
一、利用json创建对象
 

    var myObj = {
        "id": 1,        //属性名用引号括起来,属性间由逗号隔开
         "name": "zhangsan",
        "age":10,
         "test":function(){
		
	       document.write("我叫"+this.name+"今年"+this.age+"岁");
		}
    };
    myObj.test()
   //结果
   //我叫zhangsan今年10岁

二、用 function 关键字模拟 class

 function myClass() {
            this.id = 5;
            this.name = 'myclass';
            this.getName = function() {
                return this.name;
            }
        }
        var my = new myClass();
        alert(my.id);
        alert(my.getName());
        // 结果
        // 5
        // myclass





三、使用JavaScript中的Object类型



 var  company= new Object(); 

    company.name= "天堂";
    company.address = "北京";
    company.produce= function(message)
    {
        alert(message);
    }

   company.produce("天堂");
     //结果
     //天堂
分享到:
评论
10 楼 william_ai 2011-01-03  
js是一个比较强大的语言,有了node.js后,在服务器上也可以跑js了。
9 楼 bulktree 2011-01-03  
var myObj = { 
      "id": 1,        //属性名用引号括起来,属性间由逗号隔开 
       "name": "zhangsan", 
      "age":10, 
       "test":function(){ 
 
      document.write("我叫"+this.name+"今年"+this.age+"岁"); 

  }; 
  myObj.test() 

如果再次使用 myObj.test()  时不是意味着是同一个对象的拷贝呢?
8 楼 zzpxingfu 2010-06-09  
恩 Js的确很强大的 呼呼
7 楼 CrystalBear 2010-06-08  
容易误导新人
6 楼 takuma888 2010-06-07  
js中任何东西都是对象。
5 楼 caowei3047 2010-06-07  
仔细看完了,但却没有什么收获,失望
4 楼 lingfa0511 2010-06-07  
学习了!JS太灵活了!
3 楼 小小流浪猪 2010-06-06  
下次一定 呵呵
2 楼 mtnt2008 2010-06-04  
没有深度,容易误导人啊

最好,说一说,为什么
1 楼 dk101 2010-06-01  
总结的不错,JS这个东西太灵活了,很多东西都需要在平常的编码工作中,慢慢积累,谢谢共享自己的心得。

相关推荐

Global site tag (gtag.js) - Google Analytics