• 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岁 


        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 


     
     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(
    "天堂");  
        
    //结果  
        //天堂  



     var  company= new Object();       company.name= "天堂";     company.address = "北京";     company.produce= function(message)     {         alert(message);     }     company.produce("天堂");      //结果      //天堂 

  • 相关阅读:
    WAF攻防实战
    简单的Web日志分析脚本
    android multicast 多播(组播)问题
    easyhadoop:failed to open stream:Permission denied in /var/www/html/index.php
    Codeforces Round #215 (Div. 2) A. Sereja and Coat Rack
    删除workspace下的vss的scc文件
    由两代WIN8 Surface平板看微软心态
    C++ 需要返回值的函数却没有返回值的情况 单例模式
    调整系统的inode数量
    平衡树
  • 原文地址:https://www.cnblogs.com/quanhai/p/1749727.html
Copyright © 2020-2023  润新知