创建、调用JavaScript对象的方法集锦


Posted in Javascript onDecember 24, 2014

今天在做项目时,遇到了需要创建JavaScript对象的情况。所以Bing了一篇老外写的关于3种创建JavaScript对象的文章,看后跟着打了一遍代码。感觉方法挺好的,在这里与大家分享一下。

  一、利用函数创建对象:

//定义对象

function Animal(type)

{

    this.name="";

    this.type=type;

   this.introduction=function(){

         return "我的名字是: "+this.name+",我属于 "+this.type;

}

}

var  animal=new Animal("家禽");   //实例化我们上面创建的对象

       animal.name="小红";

      alert(animal.introduction());      //调用它的introduction函数(此时,页面会弹出:我的名字是 小红,我属于 家禽);

这种方法,大家一定都很熟悉了。但是,使用这种方法会造成性能的损耗。在这里,我们是通过new关键子来实例化对象的。其实,new关键子是做了两件事。一,定义了一个匿名方法(Animal)。二、调用它。这样就不如我们接下来要介绍的方法高效了。

二、利用对象字面量(object literals):

     不知道翻译的对不对,待会我会把原文地址告诉大家,有兴趣的可以看原文。

//定义对象

    var Book=

    {

          name:"红楼梦",

          type:"文学作品",

          getAuthor:function()

    {

             return :"我是曹雪芹的孩子!";

    }

   }

      alert(Book.GetAuthor());  //调用对象方法,此时页面会出现:我是曹雪芹的孩子。

       Book.name="灌篮";   //修改对象属性

       alert(Book.name);    //此时,页面会弹出:灌篮

   相信大家看到代码,应该明白了为什么说这个方法会高效一些了。因为,它相当于定义了一个JavaScript全局变量。我们可以直接用它,不需要实例化它。但是,这样看起来怪怪的啊。那么,解决方案来了。我们来看看第三种方法吧。

 三、单例模式(Singleton using a function):

     翻译成单例模式,可能不是太妥。先看代码吧:

//定义对象

    var  Gender=new function()

 {

       this.type="女生";

      this.speaking=function()

{

      return "我是"+this.type;

}

}

     alert(Gender.speaking();)   //使用对象  此时页面会出现:我是女生。

  大家看这段儿代码,是不是与我们的方法一很像呢?但是,它可像方法一那样工作的。方法一,用一次对象,就要创建一次对象。这个方法,创建一次对象,就可以永久使用。所以,这种方式,很类似于设计模式中的单例模式。

Javascript 相关文章推荐
新老版本juqery获取radio对象的方法
Mar 01 Javascript
jquery 单引号和双引号的区别及使用注意
Jul 31 Javascript
js 通用订单代码
Dec 23 Javascript
JavaScript初学者建议:不要去管浏览器兼容
Feb 04 Javascript
详解JavaScript表单验证(E-mail 验证)
Mar 31 Javascript
针对JavaScript中this指向的简单理解
Aug 26 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
Sep 01 Javascript
详解angular2实现ng2-router 路由和嵌套路由
Mar 24 Javascript
JavaScript在控件上添加倒计时功能的实现代码
Jul 04 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
Oct 09 Javascript
关于axios如何全局注册浅析
Jan 14 Javascript
js实现图片推拉门效果代码实例
May 18 Javascript
jQuery的css()方法用法实例
Dec 24 #Javascript
使用javascript获取页面名称
Dec 23 #Javascript
jQuery类选择器用法实例
Dec 23 #Javascript
基于JQuery制作可编辑的表格特效
Dec 23 #Javascript
JavaScript调试工具汇总
Dec 23 #Javascript
jQuery制作简洁的多级联动Select下拉框
Dec 23 #Javascript
jQuery元素选择器用法实例
Dec 23 #Javascript
You might like
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
PHP中数据库单例模式的实现代码分享
2014/08/21 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
php版微信公众平台实现预约提交后发送email的方法
2016/09/26 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
JavaScript 学习笔记(十一)
2010/01/19 Javascript
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
VueJs路由跳转——vue-router的使用详解
2017/01/10 Javascript
javascript实现简易计算器
2017/02/01 Javascript
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
a标签调用js的方法总结
2019/09/05 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
Python导入txt数据到mysql的方法
2015/04/08 Python
python运行时间的几种方法
2016/06/17 Python
利用ctypes提高Python的执行速度
2016/09/09 Python
浅析Python函数式编程
2018/10/06 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
用python 实现在不确定行数情况下多行输入方法
2019/01/28 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
Python中无限循环需要什么条件
2020/05/27 Python
英国玛莎百货澳大利亚:Marks & Spencer Australia
2019/08/30 全球购物
铭宣海淘转运:美国、日本、英国转运等全球转运公司
2019/09/10 全球购物
领导班子四风问题对照检查材料
2014/09/27 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
企业党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
2014年党风廉政工作总结
2014/12/03 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
年会主持人开场白台词
2015/05/29 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python