创建、调用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 相关文章推荐
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
Aug 05 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
Feb 25 Javascript
JS实现时间格式化的方式汇总
Oct 16 Javascript
JQuery的$命名冲突详细解析
Dec 28 Javascript
实例讲解JavaScript中的this指向错误解决方法
Jun 13 Javascript
AngularJS入门教程之链接与图片模板详解
Aug 19 Javascript
jQuery 特性操作详解及实例代码
Sep 29 Javascript
原生JS封装animate运动框架的实例
Oct 12 Javascript
Javascript获取某个月的天数
May 30 Javascript
深入理解移动前端开发之viewport
Oct 19 Javascript
解决vue请求接口第一次成功,第二次失败问题
Sep 08 Javascript
React中使用Vditor自定义图片详解
Dec 25 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
BBS(php & mysql)完整版(四)
2006/10/09 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
Smarty模板语法详解
2019/07/20 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
JavaScript 指导方针
2007/04/05 Javascript
初学JavaScript_03(ExtJs Grid的简单使用)
2008/10/02 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
2014/06/06 Javascript
JavaScript阻止回车提交表单的方法
2015/12/30 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
ReactNative之FlatList的具体使用方法
2017/11/29 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
ES6中异步对象Promise用法详解
2019/07/31 Javascript
在Python中编写数据库模块的教程
2015/04/29 Python
编写Python CGI脚本的教程
2015/06/29 Python
python实现的希尔排序算法实例
2015/07/01 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
2016/05/24 Python
详解Python中的Descriptor描述符类
2016/06/14 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
python实现提取COCO,VOC数据集中特定的类
2020/03/10 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
WWE美国职业摔角官方商店:WWE Shop
2018/11/15 全球购物
2014年小学国庆节活动方案
2014/09/16 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
八年级作文之友情
2019/11/25 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
python缺失值的解决方法总结
2021/06/09 Python