zoukankan      html  css  js  c++  java
  • js创建对象的三种方式

     1  <script>
     2         //创建对象的三种方式
     3         // 1.利用对象字面量(传说中的大括号)创建对象 
     4 
     5         var obj1 = {
     6             uname: 'ash',
     7             age: 18,
     8             sex: "女",
     9             sayhi: function() {
    10                 console.log("hello kitty");
    11 
    12             }
    13         }
    14 
    15         //访问属性的两种方法
    16         console.log(obj1.uname);
    17         console.log(obj1[`age`]);
    18 
    19         //调用对象的方法
    20         obj1.sayhi();
    21 
    22 
    23         // 创建对象的第二种方式,用new 关键字
    24         var obj2 = new Object();
    25         //追加属性和方法
    26         obj2.uname = '小明';
    27         obj2.age = 20;
    28         obj2.sex = "男";
    29         obj2.sayHi = function() {
    30             console.log("hi~");
    31         }
    32         console.log(obj2.age);
    33         console.log(obj2[`age`]);
    34         obj2.sayHi();
    35 
    36 
    37         //    以上两种方法创建对象一次只能创建一个,用构造函数可以多次创建对象
    38         // 创建对象的第三种方式,用构造函数
    39         function Star(uname, age, sex) {
    40             this.uname = uname; //构造函数里面一定要用到this关键字 ,表示当前对象
    41             this.age = age;
    42             this.sex = sex;
    43             this.sing = function(ge) {
    44                 console.log(uname + "的主打歌 " + ge);
    45 
    46             }
    47         }
    48 
    49         var LDH = new Star("刘德华", 20, "男");
    50         console.log(LDH.uname);
    51         console.log(LDH.age);
    52         LDH.sing("冰雨");
    53 
    54         /* new一个对象的执行过程:
    55         1.创建一个新对象
    56         2.this指向这个对象
    57         3.形参为这个对象的属性和方法赋值
    58         4.返回这个对象,所以构造函数里面不需要return */
    59 
    60         var YBN = new Star("姚贝娜", 21, "女"); //new出一个对象
    61         YBN.sing("随他吧");
    62     </script>

    如何遍历这个对象的属性和值呢?用for in 循环

     1 <script>
     2         // 首先,我用构造函数创建对象
     3         function Star(uname, age, sex) {
     4             this.uname = uname;
     5             this.age = age;
     6             this.sex = sex;
     7             this.sing = function(ge) {
     8                 console.log(uname + "的主打歌" + ge);
     9 
    10             }
    11 
    12         }
    13         var GLN = new Star("龚琳娜", 30, "女");
    14         //现在来遍历龚琳娜的属性
    15         for (const key in GLN) {
    16             console.log(GLN.uname + "的属性有" + key);
    17             console.log(GLN.uname + "的值有" + GLN[key]);
    18         }
    19     </script>

    注意,key只是属性,obj[key] 才是值

  • 相关阅读:
    mysqldump备份数据
    windows上mysql5.7服务启动报错
    Java NIO:FileChannel数据传输
    HBase过滤器:SingleColumnValueFilter和FirstKeyOnlyFilter一起使用的问题
    Java自定义注解
    Kafka Connect使用入门-Mysql数据导入到ElasticSearch
    Kafka中使用Avro编码、解码消息
    堆和栈
    Java中基本数据类型byte,short,char,int,long,float,double 取值范围
    对快速排序的一点小探究
  • 原文地址:https://www.cnblogs.com/chq1234/p/11384127.html
Copyright © 2011-2022 走看看