JavaScript对象

JavaScript对象

javaScript对象是具有状态和行为(属性和方法)的实体。例如:汽车,笔,自行车,椅子,玻璃,键盘,显示器等。
JavaScript是一种基于对象的语言。一切都是JavaScript中的对象。
JavaScript是基于模板而不是基于类的。在这里,我们不创建类来获取对象。但是,我们直接创建对象。

使用JavaScript创建对象

有3种创建对象的方法。

按对象字面值
通过直接创建Object的实例(使用新关键字)
通过使用对象构造函数(使用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();
在这里,使用
新关键字创建对象。
让我们看看直接创建对象的示例。
 <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对象中定义方法。但是在定义方法之前,我们需要在函数中添加与方法同名的属性。
下面给出在对象中定义方法的示例。
 <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("<br>"+e.id+" "+e.name+" "+e.salary);
</script>

以上示例的输出

JavaScript对象方法

对象的各种方法如下:
方法 说明
Object.assign() 此方法用于将可枚举和拥有的属性从源对象复制到目标对象
Object.create() 此方法用于创建具有指定原型对象和属性的新对象。
Object.defineProperty() 此方法用于描述属性的某些行为属性。
Object.defineProperties() 此方法用于创建或配置多个对象属性。
Object.entries() 此方法返回一个包含键值对数组的数组。
Object.freeze() 此方法可防止删除现有属性。
Object.getOwnPropertyDescriptor() 此方法返回指定对象的指定属性的属性描述符。
Object.getOwnPropertyDescriptors() 此方法返回给定对象的所有自己的属性描述符。
Object.getOwnPropertyNames() 此方法返回找到的所有属性(可枚举与否)的数组。
Object.getOwnPropertySymbols() 此方法返回所有自己的符号键属性的数组。
Object.getPrototypeOf() 此方法返回指定对象的原型。
Object.is() 此方法确定两个值是否相同。
Object.isExtensible() 此方法确定对象是否可扩展
Object.isFrozen() 此方法确定对象是否冻结。
Object.isSealed() 此方法确定对象是否密封。
Object.keys() 此方法返回给定对象自身的属性名称的数组。
Object.preventExtensions() 此方法用于防止对象的任何扩展。
Object.seal() 此方法可防止添加新属性并将所有现有属性标记为不可配置。
Object.setPrototypeOf() 此方法将指定对象的原型设置为另一个对象。
Object.values() 此方法返回一个值数组。