WEB前端学习:javascript创建对象
吕益平 2018-09-10 来源 : 阅读 1467 评论 0

摘要:本文主要向大家介绍了WEB前端学习:javascript创建对象,通过具体的内容向大家展现,希望对大家学习WEB前端有所帮助。

本文主要向大家介绍了WEB前端学习:javascript创建对象,通过具体的内容向大家展现,希望对大家学习WEB前端有所帮助。

一 创建对象

1.普通的创建对象

// 创建一个对象,然后给这个对象新的属性和方法;
    var box = new Object();              // 创建一个Object对象;
    box.name = 'lee';                    // 创建一个name属性并赋值;
    box.age = 100;
    box.run = function(){                // 创建一个run()方法并返回值;
        return this.name+this.age+'运行中...';
    }
    console.log(box.run());              // 输入属性和方法的值;
// 缺点:想创建类似的对象,就会产生大量的代码;

2. 工厂模式创建对象

// 这种方法就是为了解决实例化对象产生大量代码重复的问题;
    function createObject(name,age){        // 集中创建函数体;
        var obj = new Object;         // 函数体内创建Object;
        obj.name = name;
        obj.age = age;
        obj.run = function(){
            return this.name+this.age+"运行中...";
        };
        return obj;
    }
    var box1 = createObject("lee",100);     // 实例化;调用函数并传参;
    var box2 = createObject("jack",200);    // 实例二;
    console.log(box1.run()+box2.run());     // 实例保持相对独立;
// 缺点:对象与实例的识别问题;无法搞清楚它们到底是那个对象的实例;
    console.log(typeof box1);               // Object;

3.构造函数创建对象

// ECMAScript采用构造函数(构造方法)可用来创建特定的对象;
    function Box(name,age){          // 构造函数模式;
        this.name = name;           // this代表对象Box;
        this.age = age;
        this.run = function(){
            return this.name+this.age+"运行中...";
        };
    }
    var box1 = new Box("lee",100);         // 要创建对象的实例必须用new操作符;
    var box2 = new Box("jack",200);        // box1和box2都是Box对象的实例;
    console.log(box1 instanceof Box);      // true;很清晰的识别box1从属于Box;
// 使用构造函数,即解决了重复实例化的问题,有解决了对象识别的问题;

1 // 使用构造函数与工厂模式不同之处:2 //

(1).构造函数方法没有显示的创建对象(new Object);3 //

(2).直接将属性和方法赋值给this对象;4 //

(3).没有return语句;
1 // 构造函数规范:2 //

(1).函数名(function Box)和实例化构造名(new Box)相同且大写;3 //

(2).通过构造函数创建实例对象,必须使用new运算符;

希望这篇文章可以帮助到你,总之同学们,IT知识尽在职坐标。

本文由 @职坐标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论
本文作者 联系TA

熟悉企业软件开发的产品设计及开发

  • 57
    文章
  • 12530
    人气
  • 85%
    受欢迎度

已有47人表明态度,85%喜欢该老师!

进入TA的空间
求职秘籍 直通车
  • 索取资料 索取资料 索取资料
  • 答疑解惑 答疑解惑 答疑解惑
  • 技术交流 技术交流 技术交流
  • 职业测评 职业测评 职业测评
  • 面试技巧 面试技巧 面试技巧
  • 高薪秘笈 高薪秘笈 高薪秘笈
TA的其他文章 更多>>
java语言实现栈的顺序存储与链式存储
经验技巧 100% 的用户喜欢
一天天都在说hadoop,到底什么才是hadoop呢?
经验技巧 57% 的用户喜欢
WEB前端之div css 层级
经验技巧 100% 的用户喜欢
WEB前端之div css 绝对定位
经验技巧 100% 的用户喜欢
Java语言之Java Socket NIO示例
经验技巧 67% 的用户喜欢
其他海同师资 更多>>
孔庆琦
孔庆琦 联系TA
对MVC模式和三层架构有深入的研究
周鸣君
周鸣君 联系TA
擅长Hadoop/Spark大数据技术
范佺菁
范佺菁 联系TA
擅长Java语言,只有合理的安排和管理时间你才能做得更多,行得更远!
金延鑫
金延鑫 联系TA
擅长与学生或家长及时有效沟通
程光淼
程光淼 联系TA
精通C、C++等语言、智能芯片开发
经验技巧30天热搜词 更多>>

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程