12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- <script>
- /*
- 创建一个对象
- */
- var obj = {
- name: "孙悟空",
- age: 28,
- gender: "男",
- sayName: function () {
- alert(this.name);
- }
- };
- /*
- 使用工厂方法创建对象
- 通过该方法可以大批量的创建对象
- */
- function createPerson(name, age, gender) {
- //创建一个新的对象
- var obj = new Object();
- //向对象中添加属性
- obj.name = name;
- obj.age = age;
- obj.gender = gender;
- obj.sayName = function () {
- console.log(this.name);
- };
- //将新的对象返回
- return obj;
- }
- var obj2 = createPerson("孙悟空", 28, "男");
- var obj3 = createPerson("二师兄", 38, "男");
- var obj4 = createPerson("沙师弟", 48, "男");
- console.log(obj2);
- console.log(obj3);
- console.log(obj4);
- // obj2.sayName();//输出结果为“孙悟空”
- // obj3.sayName();//输出结果为“二师兄”
- // obj4.sayName();//输出结果为“沙师弟”
- /*
- 使用工厂方法创建的对象,使用的构造函数都是Object
- 所以创建的对象都是Object这个类型,
- 就导致我们无法区分出多种不同类型的对象
- */
- //创建一个狗的对象
- function createDog(name,gender){
- var obj = new Object();
- obj.name = name;
- obj.gender = gender;
- obj.sayDog = function(){
- console.log("都是汪汪队~~");
- };
- return obj;
- }
- var dog = createDog("旺财","公狗");
- console.log(dog);
- </script>
- </head>
- <body>
- </body>
- </html>
|