分享

js对象定义的几种方法

 宜宾翠屏区 2019-04-05

       方法一:通过var object={}  对象字面量
     (1),可以叫对象直接量来自定义一个对象。对象自面量是一个表达式,这个表达式的每次运算都创建并初始化一个新对象。
 var user = { x:1,y:2,z:3,pp:function(){  alert("22222222") }}   

  //用字面量定义一个对象,是以名值对的方式来保存的

alert(user.y)   //调用属性
            user.pp()   //调用方法
(2)   var student = {     //还可以换行写,每义定一个属性名和值,用逗号分开,最后一个不加逗号,加了会被忽略,但在ie中会报错,最好不要加

            "x":1,          //定义属性名的时候可以用双引号 
            'y':2,          //定义属性名的时候可以用单引号
            z:12.3,         //定义属性名的时候可以加任何
             "for":"使用关键字来定义属性名要加上引号",  //使用关键字定义的话必须加上双引号             man:{           //对象里面还可以签到对象
                 text:null,       //对象的属性值可以是多种数据类型
                text2:undefined,
                married:true
                   },
    dd:function(){alert("33333333")}
                        }
             alert(student.x) 
             student.dd()   
           方法二:通过 var obj = new Object();创建对象 

        1、创建一个空白的Object对象
        写法1:var obj = new Object();
        写法2:var obj = {};
        2、给创建的对象添加属性和方法
        var obj = {};
           obj.name = '小明';  //属性
              obj.showName = function(){  //方法
                    alert(this.name);
                        };
                        obj.showName();  //方法的调用
==========================================

1 <script>
2 var obj = new Object() //创建了一个对象,object对象也是对象中的顶级对象
3 var arry = new Array() //创建了一个数组对象
4 var date = new Date() //创建一个时间对象
5 var reg = new RegExp("js") //创建一个正则对象6 

</script>

==========================================
===========================================
通过object.create来创建对象

1 <script>

2 var obj = Object.create({x:1})

3 var obj = Object.create(null) //创建了一个没有原型的对象,没有任何方法

4 var obj = Object.create(obj.prototype) //创建了一个普通的空对象

5 </script>

===========================================

           方法三:通过构造函数来创建对象

通过instanceof操作符可以检测一个对象是否由某个指定的构造器函数来创建的对象

注意:
使用的时候可以通过new操作符得到对象。
用构造器创建对象的时候可以接收参数
构造器函数的首首字母最好大写,区别其他的一般函数

function Person(name,age){   //创建一个person的函数
            this.name =name;          //此处的this对应的是对象obj
            this.age = age
         }
          var obj = new Person("ziksang",21)  //用一个构造函数来创建了对象
            alert(obj.name)        //=>ziksang  用对象名.对象的属性来获得属性值
            alert(typeof obj)      //=>用typeof来检测obj是不是一个对象类型, 返回object
            alert(obj instanceof Person)  //=> 用instanceof 来检测objcet是不是person函数构造出来的对象,返回true

+++++++++++++++++++++++++++++++++++++++++++++++++++++++
  方法(1)==方法(2)
(1)
var obj = new Object();
 obj.name = "孙悟空";
    obj.age = 18;
 obj.sayName = function(){    alert(obj.name);         };   
     function fun(){    alert(obj.name);  };
 obj.sayName();
 fun();
(2)
                var obj2 = {
                             name:"猪八戒",
                                  age:18,
                           sayName:function(){  alert(obj2.name);     }  
                                                     };
                                      obj2.sayName();

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多