首页 > web前端 > js教程 > 正文

实例解说JavaScript创建对象的四种方式

灭绝师太
发布: 2021-10-27 18:02:09
原创
2205人浏览过

        javascript简称js,js最初的目的是解决用户和服务器之间的交互问题。需要注意的是js不是一门面向对象的语言,而是基于对象,模拟面向对象的语言。那么如何创建javascript对象呢?

         对象: 特指自然世界中的某个事物 , 具有一些特征(属性)和行为(方法),比如姚明这个对象有姓名,性别,身高,球号,球队等等这些特征,并且会运球,投篮,跑步,吃饭等这些行为,那我们如何使用js创建对象呢?

           第一种:字面量的方式创建实例对象

    var YaoMing = {
        name:"YaoMing",
        age:36,
        gender:"男",
        eat:function(){
            console.log('吃臭豆腐');
        },
        read:(){
            console.log('疯子在左天才在右');
        }
    }
登录后复制

            



        第二种:调用系统构造函数创建对象

立即学习Java免费学习笔记(深入)”;

    var per2=new Object();
     per2.name="大蛇丸";
     per2.age=30;
     per2.sex="男";
     per2.eat=function () {
     console.log("吃榴莲");
     };
     per2.play=function () {
     console.log("这个小蛇真好玩");
     };
登录后复制

            这时候检测per2是否是Object的实例,返回true

        20211028152133.png

       


      

           第三种:自定义构造函数创建对象

        function Person(name, age, gender) {
              this.name = name;
              this.age = age;
              this.gender = gender;
              this.play = function () {
                console.log("天天打游戏");
              };
         }
         var per = new Person("雏田", 18, "女");
         console.log(per instanceof Person);//返回true
登录后复制

        
        QQ截图20211028153114.png

        


        现在思考第三种自定义构造函数创建对象,其内部实现过程是怎样的??

        拿上面的例子来说,创建对象 var per = new Person("雏田", 18, "女");  实例化一个对象的同时对属性age,name,gender也完成了初始化赋值。内部过程如下  : 

        * 1.开辟空间存储对象

        * 2.把this设置为当前的对象

        * 3.设置属性和方法的值

        * 4.把this对象返回


          第四种:工厂模式创建对象

           

<script>
   //工厂模式创建对象 
    function createObject(name,age) {
      var obj=new Object();
      obj.name=name;
      obj.age=age;
      obj.sayHi=function () {
        console.log("您好");
      };
      return obj;
    }
    //自定义构造函数创建对象
    function Person(name,age) {
      this.name=name;
      this.age=age;
      this.sayHi=function () {
        console.log("您好");
      };
    }
    
 </script>
登录后复制

        

        工厂模式创建对象 : var per1=createObject("小明",20);

      自定义构造函数创建对象 :var per2=new Person("小红",20);

      通过对比以上两种创建对象的方式,我们可以得出以下结论:

        工厂模式创建对象   

        1.函数名小写,2.函数内部使用new关键字,3.并且有返回值,4.new之后的对象是当前的对象,5.直接调用函数就可以创建对象。

        自定义构造函数创建对象 

       1.函数名首字母大写,2.函数内部没有使用new关键字,3.没有返回值,4.this代表当前的对象,5.通过new的方式创建对象。

    


以上就是实例解说JavaScript创建对象的四种方式的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号