zoukankan      html  css  js  c++  java
  • JavaScript基础(07_原型对象)

    原型对象

    • 原型 prototype

      • 我们所创建的每一个函数,解析器都会想函数中添加一个属性prototype

      • 这个属性对应着一个对象,这个对象就是我们所谓的原型对象

        • 如果函数作为普通函数调用prototype没有任何作用

        • 当函数通过构造函数调用时,它所创建的对象中都会有一个隐含的属性

        • 指向该构造函数的原型对象,可以通过proto来访问该属性

      • 原型对象就相当于一个公共的区域,所有同一个实例都可以访问到原型对象

        • 可以将对象中共有的内容,统一设置到原型对象里

        • 当我们访问对象的一个属性或者方法时,先会在对象自身中寻找,

        • 如果有则直接使用

        • 如果没有则会去原型对象中寻找

      • 以后我们创建构造函数时,可以将这些对象共有的属性和方法统一添加到构造函数的原型对象中这样不用分别为每一个对象添加,也不会影响全局作用域

    • 使用原型对象,优化构造函数

      • // 使用原型对象,优化构造函数
        function Person(name, age, gender){
          this.name = name;
          this.age = age;
          this.gender = gender;
          Person.prototype.sayHello = function(){
            alert("hello大家好,我是:"+ this.name);
          }
        }
        ​
        var per1 = new Person("swk",18,"male");
        var per2 = new Person("zbj",28,"male");
        var per3 = new Person("shs",38,"female");
        ​
        per1.sayHello();
        per2.sayHello();
        console.log(per1.sayHello === per2.sayHello);
  • 相关阅读:
    laravel 资源控制器方法列表
    laravel 用户认证简单示例
    使用Faker库生成模拟数据
    js获取世界不同时区的当前时间
    html2canvas将页面内容生成图片
    canvas绘制环形进度条
    H5 实现图片上传预览
    js实现复制内容到粘贴板
    node.js创建简单服务测试请求数据
    ES6语法知识
  • 原文地址:https://www.cnblogs.com/lich1x/p/13697501.html
Copyright © 2011-2022 走看看