1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Document</title>
    8. </head>
    9. <body>
    10. <!--
    11. 类和对象 -类
    12. es6之前没有class
    13. 构造函数
    14. Person
    15. 自有属性 name age
    16. 原型定义 sayName 之后所有使用new关键字新建的实例都有拥有这个方法
    17. this.$router.push
    18. this.$route.query
    19. this.$store
    20. -->
    21. <script>
    22. function Person(name,age){
    23. this.name =name;
    24. this.age =age;
    25. }
    26. Person.prototype.sayName =function(){
    27. console.log(this.name);
    28. }
    29. Person.prototype.sayAge =function(){
    30. console.log(this.age);
    31. }
    32. Person.prototype.skill ="vue";
    33. var p =new Person("李四",18);
    34. p.sayName();
    35. p.sayAge();
    36. console.log(p.skill);
    37. console.log(p.hasOwnProperty("name"));
    38. // hasOwnProperty() 判断一个属性是自有的还是公有的
    39. // 构造函数的特点
    40. /*
    41. 1 构造函数的首字母大写
    42. 2 在函数内部可以通过this关键字,给其添加自有属性
    43. 3 可以通过new 关键字实例化一个对象
    44. */
    45. </script>
    46. </body>
    47. </html>