JavaScript中的对象和对象构造函数?
在面向对象编程的生活世界中,我们已经知道类和对象的重要性,但是与其他编程语言不同,JavaScript没有其他语言所具有的传统类。但是JavaScript具有对象和构造函数,它们在大多数情况下以相同的方式工作以执行相同的操作。
- 构造函数是与“new”关键字一起使用的常规JavaScript函数。构造函数在JavaScript中有两种类型,即内置构造函数(数组和对象)和自定义构造函数(定义特定对象的属性和方法)。
- 当我们需要一种创建可以多次使用而不必每次都重新定义对象的对象“type”的构造函数时,构造函数会很有用,这可以使用Object Constructor函数来实现。按照惯例,大写的构造函数名称会将其与常规函数区分开。
例如,考虑以下代码:
function Automobile(color) { this.color=color; } var vehicle1 = new Automobile ("red");
函数“Automobile()”是一个对象构造函数,其属性和方法即“color”在其内部声明为关键字“this”。然后使用关键字“new”将使用对象构造函数定义的对象转换为即时对象。
调用新的Automobile()时,JavaScript执行以下两项操作:
- 它创建一个新的新对象(实例)Automobile()并将其分配给变量。
- 它将对象的构造函数属性“color”设置为Automobile。
Object.values()方法
Object.values()方法用于返回一个数组,该数组的元素是在对象上找到的可枚举的属性值。属性的顺序与对象手动给定的顺序相同,只是将循环应用于属性。
Object.values()将对象作为要返回其可枚举的自身属性值的参数,并返回一个包含给定对象的所有可枚举的属性值的数组。
应用范围:
- Object.values()用于返回简单数组的可枚举属性值。
- Object.values()用于返回类似对象的数组的可枚举属性值。
- Object.values()用于以随机键顺序返回类似对象的数组的可枚举属性值。
用法:
Object.values(obj)
Parameters Used:
- obj : It is the object whose enumerable property values are to be returned.
返回值:
Object.values() returns an array containing all the enumerable property values of the given object.
下面提供上述函数的示例。
例子:
Input : var check = ['x', 'y', 'z']; console.log(Object.values(check)); Output : Array ["x", "y", "z"]
说明:在此示例中,数组“check”具有三个属性值['x','y','z']和object.values()方法返回此数组的可枚举属性值。属性的顺序与对象手动给定的顺序相同。
Input : var object = { 0: '23', 1: 'geeksforgeeks', 2: 'true' }; console.log(Object.values(object)); Output : Array ["23", "geeksforgeeks", "true"]
说明:在此示例中,类似于对象“check”的数组具有三个属性值{0:“ 23”,1:“ geeksforgeeks”,2:“ true”}和object.values()方法返回此数组的可枚举的属性值。属性的顺序与对象手动给定的顺序相同。
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'},并且具有object.values()方法返回该属性的可枚举属性值以索引值的升序排列。
下面提供了上述函数的代码。
代码1:
<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:
<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:
<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。
- 如果没有将对象作为参数传递给该方法,则它将说服并将其视为对象。
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values
注:本文由纯净天空筛选整理自Shubrodeep Banerjee大神的英文原创作品 Object.values() In JavaScript。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。