1. <script>
    2. //oop
    3. // 1.字面量方式创建对象
    4. var obj = {
    5. a: 2,
    6. b: 3
    7. }
    8. // 2使用构造函数创建对象
    9. var obj1 = new Object();
    10. obj1.name = '张三';
    11. obj1.sayName = function () {
    12. console.log(this.name);
    13. }
    14. console.log(obj1);
    15. // 3自定义构造函数
    16. function MadeGf(name, age, height) {
    17. this.name = name;
    18. this.age = age;
    19. this.height = height
    20. this.sayName = function () {
    21. console.log('我叫' + this.name);
    22. }
    23. }
    24. var girlfriend = new MadeGf('王冰冰', 19, 186);
    25. console.log(girlfriend);
    26. // 4.工厂模式创建对象,相对比2的方法,创建2个对象时,sayName方法不需要写两遍
    27. function madeCat(name, age) {
    28. var obj = new Object();
    29. obj.name = name;
    30. obj.age = age;
    31. obj.sayName = function () {
    32. console.log(obj.name);
    33. }
    34. return obj;
    35. }
    36. var cat1 = madeCat('肥墩', 2, '男');
    37. console.log(cat1);
    38. // 5. 原型模式创造对象,想看继承一节
    39. </script>