一篇文章带你了解JavaScript属性

开发 前端
本文主要介绍了JavaScript 属性,介绍了如何访问一个属性,如何去创建原型属性,如何去添加一个新的属性,如何去删除一个属性,以及在for...in 语句遍历对象的属性的应用,都做了详细的讲解。通过用丰富的案例帮助大家更好理解。

 [[351385]]

一、什么是属性?

属性是一个JavaScript对象关联的值。一个JavaScript对象是一个无序的性质集合,属性通常可以更改、添加和删除,但有些只读。

二、访问JavaScript属性

访问对象属性的语法是(3种表现形式):

第一种

  1. objectName.property          // person.age 

第二种

  1. objectName["property"]       // person["age"

第三种

  1. objectName[expression]       // x = "age"; person[x] 

表达式必须是一个正确的属性名

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3.     <head> 
  4.         <meta charset="UTF-8"
  5.         <title>项目</title> 
  6.     </head> 
  7.     <body style="background-color: aqua;"
  8.  
  9.         <p>有两种方法可以访问对象属性:</p> 
  10.         <p>你可以使用 .property 或者 ["property"].</p> 
  11.  
  12.         <p id="demo"></p> 
  13.  
  14.         <script> 
  15.             var person = { 
  16.                 firstname: "John"
  17.                 lastname: "Doe"
  18.                 age: 50, 
  19.                 eyecolor: "blue" 
  20.             }; 
  21.             document.getElementById("demo").innerHTML = 
  22.                 person.firstname + " is " + person.age + " years old."
  23. </script> 
  24.  
  25.     </body> 
  26. </html> 
  1. //复制上面代码,替换不同语句,实现功能。 
  2. person["firstname"] + " is " + person["age"] + " years old."

1 . 原型属性

JavaScript 对象继承它们的prototype属性。

delete 关键字不删除继承的属性,但如果删除原型属性,则会影响从原型继承的所有对象。

2. 添加新属性

可以添加新的属性到现有的对象,只要给它一个值.

假设person对象已经存在-你可以给它新的属性:

  1. person.nationality = "English"

完整代码:

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3.     <head> 
  4.         <meta charset="UTF-8"
  5.         <title>项目</title> 
  6.     </head> 
  7.     <body style="background-color: aqua;"
  8.  
  9.         <p>你可以为现有对象添加新的属性.</p> 
  10.  
  11.         <p id="demo"></p> 
  12.  
  13.         <script> 
  14.             var person = { 
  15.                 firstname: "John"
  16.                 lastname: "Doe"
  17.                 age: 50, 
  18.                 eyecolor: "blue" 
  19.             }; 
  20.             person.nationality = "English"
  21.             document.getElementById("demo").innerHTML = 
  22.                 person.firstname + " is " + person.nationality + "."
  23. </script> 
  24.  
  25.     </body> 
  26. </html> 

注:

不能为属性(或方法)名称使用保留字。JavaScript的命名规则。

3. 删除属性

delete 关键字从对象中删除属性:

  1. var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}; 
  2. delete person.age;   // or delete person["age"]; 

delete 关键字同时删除属性的值和属性本身。

删除后,属性不能再使用之前的方法重新添加。

delete 运算符被设计用于对象属性。它对变量或函数没有影响

delete 运算符不得使用预定义JavaScript对象的属性。它可以使得你的应用程序崩溃。

三、JavaScript for...in 循环

JavaScript for...in 语句可以遍历对象的属性

语法

  1. for (variable in object) { 
  2.     code to be executed 

for...in 循环里面的每个属性将执行一次。

循环对象属性:

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3.   <head> 
  4.     <meta charset="UTF-8"
  5.     <title>项目</title> 
  6.   </head> 
  7.   <body style="background-color: aqua;"
  8.  
  9.     <p id="demo"></p> 
  10.  
  11.     <script> 
  12.       var txt = ""
  13.       var person = { 
  14.         fname: "John"
  15.         lname: "Doe"
  16.         age: 25 
  17.       }; 
  18.       var x; 
  19.       for (x in person) { 
  20.         txt += person[x] + " "
  21.       } 
  22.       document.getElementById("demo").innerHTML = txt; 
  23. </script> 
  24.  
  25.   </body> 
  26. </html> 

四、总结

本文主要介绍了JavaScript 属性,介绍了如何访问一个属性,如何去创建原型属性,如何去添加一个新的属性,如何去删除一个属性,以及在for...in 语句遍历对象的属性的应用,都做了详细的讲解。通过用丰富的案例帮助大家更好理解。

希望大家可以根据文章的内容,积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

本文转载自微信公众号「前端进阶学习交流」,可以通过以下二维码关注。转载本文请联系前端进阶学习交流公众号。

 

责任编辑:武晓燕 来源: 前端进阶学习交流
相关推荐

2023-07-30 15:18:54

JavaScript属性

2021-06-04 09:56:01

JavaScript 前端switch

2021-02-02 18:39:05

JavaScript

2021-01-29 18:41:16

JavaScript函数语法

2021-05-18 08:30:42

JavaScript 前端JavaScript时

2021-03-09 14:04:01

JavaScriptCookie数据

2021-01-26 23:46:32

JavaScript数据结构前端

2021-03-05 18:04:15

JavaScript循环代码

2024-04-19 14:23:52

SwitchJavaScript开发

2023-09-06 14:57:46

JavaScript编程语言

2024-01-30 13:47:45

2021-06-24 09:05:08

JavaScript日期前端

2021-02-05 18:36:15

SVG形状属性

2021-02-23 06:51:16

SVGstrokeHtml基础

2023-06-01 17:10:12

HTMLJavaScript

2021-11-26 11:10:07

JavaScript 节点导航

2021-04-20 11:20:24

Java开发运算符

2021-05-07 14:17:01

JavaScript元素网页

2024-07-02 14:14:18

2023-06-06 15:45:40

JavaScript数组
点赞
收藏

51CTO技术栈公众号