创建、调用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 相关文章推荐
js下将字符串当函数执行的方法
Jul 13 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
Jun 16 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
Jun 23 Javascript
node.js中的require使用详解
Dec 15 Javascript
javascript实现获取浏览器版本、操作系统类型
Jan 29 Javascript
浅谈jQuery构造函数分析
May 11 Javascript
EasyUi combotree 实现动态加载树节点
Apr 01 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
Aug 24 Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
Jan 16 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
Jul 31 Javascript
微信小程序按顺序同步执行的两种方式
Dec 20 Javascript
原生js实现表格循环滚动
Nov 24 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程序--记数器
2006/10/09 PHP
用PHP控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
PHP 开发环境配置(Zend Studio)
2010/04/28 PHP
PHP开发中四种查询返回结果分析
2011/01/02 PHP
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
PHP中的插件机制原理和实例
2014/07/08 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
2013/06/05 Javascript
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
2014/06/06 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
Javascript基础之数组的使用
2016/05/13 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
vue组件实现可搜索下拉框扩展
2020/10/23 Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
2019/03/28 jQuery
小程序实现新用户判断并跳转激活的方法
2019/05/20 Javascript
基于VUE实现判断设备是PC还是移动端
2020/07/03 Javascript
[06:10]6.81新信使新套装!给你一个炫酷的DOTA2
2014/05/06 DOTA
python复制文件的方法实例详解
2015/05/22 Python
深入理解python中的select模块
2017/04/23 Python
python3操作mysql数据库的方法
2017/06/23 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
采购部岗位职责
2013/11/24 职场文书
资产经营总监岗位职责范文
2013/12/01 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
通信研究生自荐信
2014/02/01 职场文书
批评与自我批评材料
2014/02/15 职场文书
售后服务承诺书范文
2014/03/26 职场文书
文案策划岗位职责
2015/02/11 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书