创建、调用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 相关文章推荐
Prototype RegExp对象 学习
Jul 19 Javascript
EASYUI TREEGRID异步加载数据实现方法
Aug 22 Javascript
JavaScript中“基本类型”之争小结
Jan 03 Javascript
onclick与listeners的执行先后问题详细解剖
Jan 07 Javascript
Javascript保存网页为图片借助于html2canvas库实现
Sep 05 Javascript
jQuery()方法的第二个参数详解
Apr 29 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
Jan 17 Javascript
详解在Vue中如何使用axios跨域访问数据
Jul 07 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
Sep 08 Javascript
详解在create-react-app使用less与antd按需加载
Dec 06 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
Nov 24 Javascript
一起来了解一下JavaScript的预编译(小结)
Mar 01 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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
PHP array操作10个小技巧分享
2011/06/23 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
2017/02/09 PHP
javascript 写类方式之四
2009/07/05 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
2016/01/19 Javascript
js实时获取窗口大小变化的实例代码
2016/11/18 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
layui table设置前台过滤转义等方法
2018/08/17 Javascript
JavaScript实现的联动菜单特效示例
2019/07/08 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
H5+css3+js搭建带验证码的登录页面
2020/10/11 Javascript
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
python中函数总结之装饰器闭包详解
2016/06/12 Python
Python提取网页中超链接的方法
2016/09/18 Python
Python zip()函数用法实例分析
2018/03/17 Python
Python中XlsxWriter模块简介与用法分析
2018/04/24 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
Python的垃圾回收机制详解
2019/08/28 Python
使用python计算三角形的斜边例子
2020/04/15 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
马德里著名的运动鞋商店:NOIRFONCE
2019/04/12 全球购物
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
英国健身专家:WIT Fitness
2021/02/09 全球购物
校庆活动方案
2014/03/31 职场文书
班级出游活动计划书
2014/08/15 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
美元符号 $
2022/02/17 杂记
MySQL的存储过程和相关函数
2022/04/26 MySQL