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

作者:hebedich 时间:2024-02-25 08:01:03 

今天在做项目时,遇到了需要创建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对象
0
投稿

猜你喜欢

  • Python简单格式化时间的方法【strftime函数】

    2023-03-29 11:30:16
  • asp中Adodb.Stream 的使用说明

    2007-09-11 13:53:00
  • pytorch 限制GPU使用效率详解(计算效率)

    2022-01-24 06:55:53
  • 利用Pytorch实现获取特征图的方法详解

    2023-09-11 16:16:02
  • php设计模式之适配器模式实例分析【星际争霸游戏案例】

    2024-05-11 09:55:05
  • Python Flask基础到登录功能的实现代码

    2022-01-04 14:29:57
  • 使用Python的Flask框架表单插件Flask-WTF实现Web登录验证

    2021-03-31 12:42:31
  • Python datetime时间格式化去掉前导0

    2022-03-15 11:43:15
  • centos7上mysql8.0rpm方式安装教程图解

    2024-01-13 06:23:59
  • python 把列表转化为字符串的方法

    2023-06-14 20:35:48
  • 详解Python 实现元胞自动机中的生命游戏(Game of life)

    2023-05-31 07:11:54
  • ThinkPHP中自定义错误页面和提示页面实例

    2024-05-02 17:16:21
  • python+selenium开发环境搭建图文教程

    2022-10-17 13:04:05
  • Golang远程调用框架RPC的具体使用

    2024-02-16 01:50:02
  • PHP echo()函数讲解

    2023-06-05 18:50:54
  • Python实现对比两个Excel数据内容并标记出不同

    2022-01-26 09:42:50
  • pytorch下的unsqueeze和squeeze的用法说明

    2023-07-16 14:01:41
  • shtml网页SSI使用详解

    2008-02-20 19:13:00
  • python读取Kafka实例

    2023-10-22 17:22:58
  • Python数据可视化库seaborn的使用总结

    2022-08-07 11:43:04
  • asp之家 网络编程 m.aspxhome.com