阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Javascript创建对象的几种方式

      问题

      Javascript创建对象的几种方式

      答案

      1. 工厂模式
      2. 构造函数模式
      3. 原型模式
      4. 混合构造函数和原型模式
      5. 动态原型模式
      6. 寄生构造函数模式
      7. 稳妥构造函数模式

      javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象. 当然还可以用JSON;但写法有很多种. 也能混合使用。

      1、对象字面量的方式

      person={
        firstname:"zhu",
        lastname:"anbang",
        age:25,
        eyecolor:"black"};
      

      2、用function来模拟无参的构造函数

      function Person(){}
          var person=new Person();//定义一个function. 如果使用new"实例化",该function可以看作是一个Class
          person.name="zhu";
          person.age="25";
          person.work=function(){
            alert(person.name+" hello...");
      }
      person.work();
      

      3、用function来模拟参构造函数来实现(用this关键字定义构造的上下文属性)

      function Pet(name,age,hobby){
          this.name=name;//this作用域:当前对象
          this.age=age;
          this.hobby=hobby;
          this.eat=function(){
            alert("我叫"+this.name+",我喜欢"+this.hobby+",是个程序员");
          }
      }
      var maidou =new Pet("麦兜",25,"coding");//实例化、创建对象
      maidou.eat();//调用eat方法
      

      4、用工厂方式来创建(内置对象)

      var wcDog =new Object();
      wcDog.name="旺财";
      wcDog.age=3;
      wcDog.work=function(){
        alert("我是"+wcDog.name+",汪汪汪......");
      }
      wcDog.work();
      

      5、用原型方式来创建

      function Dog(){}
      Dog.prototype.name="旺财";
      Dog.prototype.eat=function(){
      alert(this.name+"是个吃货");
      }
      
      var wangcai =new Dog();
      wangcai.eat();
      

      5、用混合方式来创建

      function Car(name,price){
        this.name=name;
        this.price=price; 
      }
      Car.prototype.sell=function(){
        alert("我是"+this.name+". 我现在卖"+this.price+"万元");
      }
      var camry =new Car("凯美瑞",27);
      camry.sell();
      

      更多面试题

      如果你想了解更多的前端面试题,可以查看本站的WEB前端面试题 ,这里基本包涵了市场上的所有前端方面的面试题,也有一些大公司的面试图,可以让你面试更加顺利。

      面试题
      HTMLCSSJavaScript
      jQueryVue.jsReact
      算法HTTPBabel
      BootStrapElectronGulp
      Node.js前端经验相关前端综合
      Webpack微信小程序-

      这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!

      目录
      目录