JavaScript 对象
JavaScript对象是具有状态和行为(属性和方法)的实体。例如:汽车、钢笔、自行车、椅子、杯子、键盘、显示器等。
JavaScript是一种基于对象的语言。在JavaScript中,一切都是对象。
JavaScript是基于模板而非类的。在这里,我们不创建类来获取对象,而是直接创建对象。
在JavaScript中创建对象
有三种方式可以创建对象。
- 通过对象字面量
- 直接创建Object的实例(使用new关键字)
- 使用对象构造函数(使用new关键字)
1)通过对象字面量创建JavaScript对象
使用对象字面量创建对象的语法如下:
object={property1:value1,property2:value2.....propertyN:valueN}
如你所见,属性和值之间用 :(冒号)分隔。
让我们来看看JavaScript中创建对象的简单示例。
<script>
emp={id:102,name:"Shyam Kumar",salary:40000}
document.write(emp.id+" "+emp.name+" "+emp.salary);
</script>
2) 通过创建对象的实例
直接创建对象的语法如下:
var objectname=new Object();
在这里, new关键字 用于创建对象。
让我们看看直接创建对象的例子。
<script>
var emp=new Object();
emp.id=101;
emp.name="Ravi Malik";
emp.salary=50000;
document.write(emp.id+" "+emp.name+" "+emp.salary);
</script>
3) 使用一个对象构造函数
在这里,您需要创建带参数的函数。使用this关键字可以将每个参数值分配给当前对象。
this关键字 指的是当前对象。
创建对象的例子如下。
<script>
function emp(id,name,salary){
this.id=id;
this.name=name;
this.salary=salary;
}
e=new emp(103,"Vimal Jaiswal",30000);
document.write(e.id+" "+e.name+" "+e.salary);
</script>
在JavaScript对象中定义方法
我们可以在JavaScript对象中定义方法。但是在定义method之前,我们需要在函数中添加与method同名的属性。
下面给出了在object中定义method的例子。
<script>
function emp(id,name,salary){
this.id=id;
this.name=name;
this.salary=salary;
this.changeSalary=changeSalary;
function changeSalary(otherSalary){
this.salary=otherSalary;
}
}
e=new emp(103,"Sonoo Jaiswal",30000);
document.write(e.id+" "+e.name+" "+e.salary);
e.changeSalary(45000);
document.write(""+e.id+" "+e.name+" "+e.salary);
</script>
JavaScript对象方法
Object的各种方法如下:
序号 | 方法 | 描述 |
---|---|---|
1 | Object.assign() | 此方法用于将可枚举和自有属性从源对象复制到目标对象 |
2 | Object.create() | 此方法用于创建一个新对象,并指定其原型对象和属性。 |
3 | Object.defineProperty() | 此方法用于描述属性的某些行为特性。 |
4 | Object.defineProperties() | 此方法用于创建或配置多个对象属性。 |
5 | Object.entries() | 此方法返回一个由键值对数组组成的数组。 |
6 | Object.freeze() | 此方法阻止已存在的属性被删除。 |
7 | Object.getOwnPropertyDescriptor() | 此方法返回指定对象的指定属性的属性描述符。 |
8 | Object.getOwnPropertyDescriptors() | 此方法返回给定对象的所有自有属性描述符。 |
9 | Object.getOwnPropertyNames() | 此方法返回一个包含所有(可枚举或不可枚举)属性的数组。 |
10 | Object.getOwnPropertySymbols() | 此方法返回一个包含所有自有符号键属性的数组。 |
11 | Object.getPrototypeOf() | 此方法返回指定对象的原型。 |
12 | Object.is() | 此方法确定两个值是否相同。 |
13 | Object.isExtensible() | 此方法确定一个对象是否可扩展。 |
14 | Object.isFrozen() | 此方法确定一个对象是否已被冻结。 |
15 | Object.isSealed() | 此方法确定一个对象是否已被封闭。 |
16 | Object.keys() | 此方法返回给定对象的所有自己的属性名的数组。 |
17 | Object.preventExtensions() | 此方法用于阻止对象的任何扩展。 |
18 | Object.seal() | 此方法阻止添加新属性,并将所有现有属性标记为不可配置。 |
19 | Object.setPrototypeOf() | 此方法将指定对象的原型设置为另一个对象。 |
20 | Object.values() | 此方法返回一个值数组。 |