广告
返回顶部
首页 > 资讯 > 精选 >javascript对象的定义方法是什么
  • 891
分享到

javascript对象的定义方法是什么

2023-06-14 09:06:41 891人浏览 八月长安
摘要

小编给大家分享一下javascript对象的定义方法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!javascript对象的定义方法:1、工厂方式;2、构造

小编给大家分享一下javascript对象的定义方法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

javascript对象的定义方法:1、工厂方式;2、构造函数方式;3、原型方式;4、混合的构造函数或原型方式;5、动态原型方式;6、混合工厂方式。

javascript对象的定义方法:

1、工厂方式

  function Car(){   var ocar = new Object;   ocar.color = "blue";   ocar.doors = 4;   ocar.showColor = function(){    document.write(this.color)   };   return ocar;  }  var car1 = Car();  var car2 = Car();

调用此函数时将创建新对象,并赋予它所有的属性和方法。使用此函数可以创建2个属性完全相同的对象。当然我妹可以通过给它传递参数来改版这种方式。

  function Car(color,door){   var ocar = new Object;   ocar.color = color;   ocar.doors = door;   ocar.showColor = function(){    document.write(this.color)   };   return ocar;  }  var car1 = Car("red",4);  var car2 = Car("blue",4);  car1.showColor()  //output:"red"  car2.showColor()  //output:"blue"

现在可以通过给函数传递不同的参数来得到具有不同值的对象。

在前面的例子中,每次调用函数Car(),都要创建showcolor(),意味着每个对象都有一个自己的showcolor()方法。

但是事实上,每个对象斗共享了同一个函数。

虽然可以在函数外定义方法,然后通过将函数的属性指向该方法。

  function showColor(){   alert(this.color);  }  function Car(){   var ocar = new Object();   ocar.color = color;   ocar.doors = door;   ocar.showColor = showColor;   return ocar;  }

但是这样看起来不像是函数的方法。

2、构造函数方式

构造函数方式同工厂方式一样简单,如下所示:

  function Car(color,door){   this.color = color;   this.doors = door;   this.showColor = function(){    alert(this.color)   };  }  var car1 = new Car("red",4);  var car2 = new Car("blue",4);

可以看到构造函数方式在函数内部没有创建对象,是用this关键字。因为在调用构造函数时已经创建了对象,而在函数内部只能用this来访问对象属性。

现在用new来创建对象,看起来像那么回事了!但是它同工厂方式一样。每次调用都会为对象创建自己的方法。

3、原型方式

该方式利用了对象的prototype属性。首先用空函数创建类名,然后所有的属性和方法都被赋予prototype属性。

  function Car(){  }  Car.prototype.color = "red";  Car.prototype.doors = 4;  Car.prototype.showColor = function(){   alert(this.color);  }  var car1 = new Car();  var car2 = new Car();

在这段代码中,首先定义了一个空函数,然后通过prototype属性来定义对象的属性。调用该函数时,原型的所有属性都会立即赋予要创建的对象,所有该函数的对象存放的都是指向showColor()的指针,语法上看起来都属于同一个对象。

但是这个函数没有参数,不能通过传递参数来初始化属性,必须要在对象创建后才能改变属性的默认值。

原型方式有个很严重的问题就是当属性指向的是对象时,如数组

  function Car(){  }  Car.prototype.color = "red";  Car.prototype.doors = 4;  Car.prototype.arr = new Array("a","b");  Car.prototype.showColor = function(){   alert(this.color);  }  var car1 = new Car();  var car2 = new Car();  car1.arr.push("cc");  alert(car1.arr);  //output:aa,bb,cc  alert(car2.arr);  //output:aa,bb,cc

这里由于数组的引用值,Car的两个对象指向的都是同一个数组,所以当在car1添加值后,在car2中也可以看到。

4、混合的构造函数/原型方式

联合是用构造函数/原型方式就可以像其他程序设计语言一样创建对象,是用构造函数定义对象的非函数属性,用原型方式定义对象的方法。

  function Car(color,door){   this.color = color;   this.doors = door;   this.arr = new Array("aa","bb");  }  Car.prototype.showColor(){   alert(this.color);  }  var car1 = new Car("red",4);  var car2 = new Car("blue",4);  car1.arr.push("cc");  alert(car1.arr);  //output:aa,bb,cc  alert(car2.arr);  //output:aa,bb

5、动态原型方式

动态原型的方式同混合的构造函数/原型方式原理相似。唯一的区别就是赋予对象方法的位置。

  function Car(color,door){   this.color = color;   this.doors = door;   this.arr = new Array("aa","bb");   if(typeof Car._initialized == "undefined"){    Car.prototype.showColor = function(){     alert(this.color);    };    Car._initialized = true;   }  }

动态原型方式是使用一个标志来判断是否已经给原型赋予了方法。这样可以保证该方法只创建一次

6、混合工厂方式

它的目的师创建假构造函数,只返回另一种对象的新实例。

  function Car(){   var ocar = new Object();   ocar.color = "red";   ocar.doors = 4;   ocar.showColor = function(){    alert(this.color)   };   return ocar;  }

与工厂方式所不同的是,这种方式使用new运算符。

以上是“javascript对象的定义方法是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: javascript对象的定义方法是什么

本文链接: https://www.lsjlt.com/news/269675.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript对象的定义方法是什么
    小编给大家分享一下javascript对象的定义方法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!javascript对象的定义方法:1、工厂方式;2、构造...
    99+
    2023-06-14
  • javascript中对象定义的方法是什么
    本篇内容介绍了“javascript中对象定义的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • JavaScript定义对象数组的方法
    这篇文章主要介绍“JavaScript定义对象数组的方法”,在日常操作中,相信很多人在JavaScript定义对象数组的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ja...
    99+
    2022-10-19
  • ECMAScript定义类或对象的方法是什么
    ECMAScript通过使用class关键字来定义类和对象的方法。定义一个类的语法如下:```javascriptclass Cla...
    99+
    2023-10-11
    ECMAScript
  • JavaScript 自定义对象方法汇总
    目录一使用object创建对象二使用构造函数创建对象三字面量创建对象四this关键字this表示当前对象五基本数据类型和引用数据类型基本数据类型引用数据类型六闭包如何理解闭包?闭包的...
    99+
    2022-11-12
  • JavaScript对象的含义是什么
    JavaScript对象是一种复合数据类型,用于存储和组织多个值的集合。它可以包含属性和方法,每个属性都由一个键和一个对应的值组成。...
    99+
    2023-10-11
    JavaScript
  • python对象方法怎么定义
    这篇文章主要讲解了“python对象方法怎么定义”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python对象方法怎么定义”吧!概念在类中,对象调用的函数称为对象方法,一般也称为方法。定义格...
    99+
    2023-06-30
  • javascript类的定义方法是什么
    小编给大家分享一下javascript类的定义方法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法有:1、构造函数法,语法“function Cat(){...
    99+
    2023-06-14
  • JavaScript窗口对象的方法是什么
    这篇文章主要讲解了“JavaScript窗口对象的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript窗口对象的方法是什么”吧! ...
    99+
    2022-10-19
  • JavaScript对象标注的方法是什么
    这篇文章主要介绍“JavaScript对象标注的方法是什么”,在日常操作中,相信很多人在JavaScript对象标注的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript对象标注的方法...
    99+
    2023-06-03
  • JavaScript对象重构方法是什么
    这篇文章主要讲解了“JavaScript对象重构方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript对象重构方法是什么”吧!用常量来表示数字如果我们有很多重复的值且表...
    99+
    2023-06-27
  • JavaScript怎么自定义对象
    这篇文章主要介绍“JavaScript怎么自定义对象”,在日常操作中,相信很多人在JavaScript怎么自定义对象问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaSc...
    99+
    2022-10-19
  • JavaScript中怎么定义对象
    本篇文章给大家分享的是有关JavaScript中怎么定义对象,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、JavaScript对象的定义J...
    99+
    2022-10-19
  • java的预定义Class对象的方法
    今天小编给大家分享的是java的预定义Class对象的方法,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。基本的 Java 类型(boolean、byte、char、short、int...
    99+
    2023-07-06
  • JavaScript 对象的含义和作用是什么
    本篇内容介绍了“JavaScript 对象的含义和作用是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2022-10-19
  • javascript document对象的方法有什么
    这篇文章主要讲解了“javascript document对象的方法有什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript documen...
    99+
    2022-10-19
  • JavaScript怎么定义对象和数组
    这篇文章主要介绍“JavaScript怎么定义对象和数组”,在日常操作中,相信很多人在JavaScript怎么定义对象和数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ja...
    99+
    2022-10-19
  • php面向对象中类的定义方法
    这篇文章主要介绍php面向对象中类的定义方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开源的PHP应用框架。2、Phalcon,Ph...
    99+
    2023-06-14
  • Jquery定义对象(闭包)与扩展对象成员的方法
    一、添加对象的静态属性和静态方法: 声明一个对象MyObject,添加一个b的静态属性和myclick的静态方法。 (function ($) { MyObject = fu...
    99+
    2022-11-13
  • javascript中doucument对象的属性和方法是什么
    这篇文章主要介绍了javascript中doucument对象的属性和方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇javascript中doucument对象的属性...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作