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

 更新时间:2014年12月24日 09:02:03   投稿:hebedich  
这篇文章主要介绍了创建、调用JavaScript对象的方法集锦,需要的朋友可以参考下

今天在做项目时,遇到了需要创建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();)   //使用对象  此时页面会出现:我是女生。

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

相关文章

  • 微信小程序如何实现精确的日期时间选择器

    微信小程序如何实现精确的日期时间选择器

    这篇文章主要介绍了微信小程序如何实现精确的日期时间选择器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • layui prompt 设置允许空白提交的方法

    layui prompt 设置允许空白提交的方法

    今天小编就为大家分享一篇layui prompt 设置允许空白提交的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • js基于canvas实现时钟组件

    js基于canvas实现时钟组件

    这篇文章主要介绍了js基于canvas实现时钟组件的方法,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下
    2021-02-02
  • 解决canvas画布使用fillRect()时高度出现双倍效果的问题

    解决canvas画布使用fillRect()时高度出现双倍效果的问题

    下面小编就为大家带来一篇解决canvas画布使用fillRect()时高度出现双倍效果的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 一文教会你提高Javascript代码效率的技巧

    一文教会你提高Javascript代码效率的技巧

    这篇文章主要给大家介绍了关于提高Javascript代码效率的技巧,通过这些技巧可以提高大家工作效率,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • JS实现提示框跟随鼠标移动

    JS实现提示框跟随鼠标移动

    在本篇内容里小编给各位整理了一篇关于JS实现提示框跟随鼠标移动的相关实例代码,需要的朋友们学习下。
    2019-08-08
  • uniapp使用高德地图的超详细步骤

    uniapp使用高德地图的超详细步骤

    使用uni-app框架开发微信小程序,可以使用高德地图开发地图选点、搜索位置、定位、获取详细的地址信息、码值等信息,下面这篇文章主要给大家介绍了关于uniapp使用高德地图的超详细步骤,需要的朋友可以参考下
    2022-12-12
  • css3元素简单的闪烁效果实现(html5 jquery)

    css3元素简单的闪烁效果实现(html5 jquery)

    本篇文章主要介绍了css3元素简单的闪烁效果实现(html5 jquery) 需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • 微信小程序实现左滑动删除效果

    微信小程序实现左滑动删除效果

    这篇文章主要为大家详细介绍了微信小程序实现左滑动删除效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • js页面引导页的实现思路总结

    js页面引导页的实现思路总结

    在同学们使用某些网站的新版本页面的时候,经常会出现一个类似于新手引导一样的效果,本文主要介绍了js页面引导页的实现思路总结,感兴趣的可以了解一下
    2023-04-04

最新评论