<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