<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 // 2、创建对象的第二种方式,用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 // 3、创建对象的第三种方式,用构造函数 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>
原文:https://www.cnblogs.com/wangtianci/p/11385544.html