JavaScript中的对象和对象构造函数? 在面向对象编程的现实世界中,我们已经知道类和对象的重要性,但与其他编程语言不同,JavaScript没有其他语言中看到的传统类。但是JavaScript有对象和构造函数,它们的工作方式基本相同,可以执行相同类型的操作。
- 构造函数是与“new”关键字一起使用的通用JavaScript函数。在JavaScript中,构造函数有两种类型,即内置构造函数(数组和对象)和自定义构造函数(定义特定对象的属性和方法)。
- 当我们需要一种方法来创建一个对象“类型”时,构造函数是有用的,该对象“类型”可以多次使用,而不必每次都重新定义对象,这可以通过使用对象构造函数来实现。将构造函数的名称大写以区别于常规函数是一种惯例。
例如,考虑下面的代码:
function Automobile(color) { this.color=color;}var vehicle1 = new Automobile ("red");
函数“Automobile()”是一个对象构造函数,其属性和方法(即“color”)通过在其前面加上关键字“this”来声明。然后,使用对象构造函数定义的对象使用关键字“new”生成实例。 当调用new Automobile()时,JavaScript会做两件事:
- 它创建一个新的对象(实例)Automobile(),并将其分配给一个变量。
- 它将对象的构造函数属性即“颜色”设置为Automobile。
对象values()方法 对象values()方法用于返回一个数组,该数组的元素是在对象上找到的可枚举属性值。当循环应用于属性时,属性的顺序与对象手动给定的顺序相同。 对象values()将对象作为要返回其可枚举自身属性值的参数,并返回包含给定对象的所有可枚举属性值的数组。 应用:
- 对象values()用于返回简单数组的可枚举属性值。
- 对象values()用于返回类似数组的对象的可枚举属性值。
- 对象values()用于返回具有随机键顺序的类似数组的对象的可枚举属性值。
语法:
Object.values(obj)
使用的参数:
- obj:返回其可枚举属性值的对象。
返回值: 对象values()返回一个数组,其中包含给定对象的所有可枚举属性值。
下面提供了上述功能的示例。 例如:
Input : var check = ['x', 'y', 'z']; console.log(Object.values(check));Output : Array ["x", "y", "z"]
说明:在本例中,数组“check”有三个属性值[‘x’、’y’、’z’]和对象。方法返回此数组的可枚举属性值。属性的顺序与对象手动给出的顺序相同。
Input : var object = { 0: '23', 1: 'geeksforgeeks', 2: 'true' }; console.log(Object.values(object));Output : Array ["23", "geeksforgeeks", "true"]
说明:在本例中,类似数组的对象“check”有三个属性值{0:’23’,1:’geeksforgeks’,2:’true’}和对象。方法返回此数组的可枚举属性值。属性的顺序与对象手动给出的顺序相同。
Input : var object = { 70: 'x', 21: 'y', 35: 'z' }; console.log(Object.values(object));Output : Array ["y", "z", "x"]
说明:在这个例子中,一个类似数组的对象“check”有三个属性值{70:’x’,21:’y’,35:’z’}按随机顺序排列,并且对象。values()方法按索引值的升序返回此数组的可枚举属性值。 下面提供了上述功能的代码。 代码1:
javascript
<script> // Returning enumerable property values of a simple array var check = [ 'x' , 'y' , 'z' ]; console.log(Object.values(check)); </script> |
输出:
Array ["x", "y", "z"]
代码2:
javascript
<script> // Returning enumerable property values // of an array like object. var object = { 0: '23' , 1: 'geeksforgeeks' , 2: 'true' }; console.log(Object.values(object)); </script> |
输出:
Array ["23", "geeksforgeeks", "true"]
代码3:
javascript
<script> // Returning enumerable property values // of an array like object. var object = { 70: 'x' , 21: 'y' , 35: 'z' }; console.log(Object.values(object)); </script> |
输出:
Array ["y", "z", "x"]
例外情况:
- 如果传递的参数不是对象,则会导致TypeError。
- 如果一个对象没有作为参数传递给该方法,那么它会说服它并将其视为一个对象。
支持的浏览器:
- 铬54及以上
- 边缘14及以上
- Firefox 47及以上版本
- 歌剧41及以上
- safari 10.1及以上版本
参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values