1.对象

    1. 某一类事物的具体实例

    2.类

    1. 对某一具体事物的抽象

    3.构造函数

    1. 构造函数:构造一个类(对象)的函数
    2. 构造函数的特点:
    3. 1.首字母大写
    4. 2.函数内部使用this关键字,谁new(实例化)就指向谁
    5. 3.使用this关键字给对象添加属性
    6. 4.必须使用new关键字,去生成一个对象

    4. 构造函数—数组类

    1. <script>
    2. /* Array 构造函数--数组类 */
    3. /* 在数组的原型上定义了一个say,那么所有的实例都会拥有一个say */
    4. Array.prototype.say = function(){
    5. console.log("say")
    6. }
    7. var arr = new Array(1,2,3);
    8. arr.push(5);
    9. console.log(arr);
    10. arr.say();
    11. var res = [];
    12. res.say();
    13. /*
    14. 实例化的--对象
    15. 原型
    16. */
    17. </script>
    1. <script>
    2. Array.prototype.push = function(){
    3. console.log("失效了")
    4. }
    5. var arr = [];
    6. arr.push(4);
    7. console.log(arr)
    8. /* remove(value) */
    9. Array.prototype.remove= function(val){
    10. var index = this.indexOf(val);
    11. this.splice(index,1);
    12. return this;
    13. }
    14. var arr = [5,6,7];
    15. console.log(arr.remove(6));
    16. /* sum */
    17. Array.prototype.sum = function(){
    18. var s= 0;
    19. for(var i=0;i<this.length;i++){
    20. s+=this[i];
    21. }
    22. return s;
    23. }
    24. var test = [1,2,3];
    25. console.log(test.sum())
    26. </script>
    1. <script>
    2. /* 学生类,name,age,skill
    3. sayName
    4. */
    5. /*
    6. 1、构造函数必须通过new关键字才可以调用
    7. 2、this指向实例化的对象
    8. */
    9. function Student(name,age,skill){
    10. this.name = name;
    11. this.age = age;
    12. this.skill = skill;
    13. }
    14. Student.prototype.sayName = function(){
    15. console.log(this.name)
    16. }
    17. Student.prototype.saySkill = function(){
    18. console.log(this.skill)
    19. }
    20. var p = new Student("李四",18,"编程");
    21. console.log(p)
    22. p.sayName();
    23. p.saySkill()
    24. /*
    25. 对象
    26. 原型
    27. */
    28. </script>