当前位置: 首页 > news >正文

JavaScript 63 JavaScript 对象 63.2 JavaScript 对象属性

JavaScript

文章目录

      • JavaScript
      • 63 JavaScript 对象
        • 63.2 JavaScript 对象属性
          • 63.2.1 JavaScript 属性
          • 63.2.2 访问 JavaScript 属性
          • 63.2.3 JavaScript for...in 循环
          • 63.2.4 添加新属性
          • 63.2.5 删除属性
          • 63.2.6 属性值
          • 63.2.7 原型属性

63 JavaScript 对象

63.2 JavaScript 对象属性

属性是任何 JavaScript 对象最重要的部分。

63.2.1 JavaScript 属性

属性指的是与 JavaScript 对象相关的值。

JavaScript 对象是无序属性的集合。

属性通常可以被修改、添加和删除,但是某些属性是只读的。

63.2.2 访问 JavaScript 属性

访问对象属性的语法是:

objectName.property           // person.age

或者

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

或者:

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

表达式必须计算为属性名。

person.firstname + " is " + person.age + " years old.";

person["firstname"] + " is " + person["age"] + " years old.";
63.2.3 JavaScript for…in 循环

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

【语法】

for (variable in object) {
    要执行的代码
}

for...in 循环中的代码块会为每个属性执行一次。

循环对象的属性:

var person = {fname:"Bill", lname:"Gates", age:62}; 

for (x in person) {
    txt += person[x];
}

在这里插入图片描述

63.2.4 添加新属性

可以通过简单的赋值,向已存在的对象添加新属性。

假设 person 对象已存在 - 那么可以为其添加新属性:

person.nationality = "English";

不能使用预留词作为属性名(或方法名)。请使用 JavaScript 命名规则。

63.2.5 删除属性

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

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
delete person.age;   // 或 delete person["age"];

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

删除完成后,属性在被添加回来之前是无法使用的。

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

delete 操作符不应被用于预定义的 JavaScript 对象属性。这样做会使应用程序崩溃。

63.2.6 属性值

所有属性都有名称。此外它们还有值。

值是属性的特性之一。

其他特性包括:可列举、可配置、可写。

这些特性定义了属性被访问的方式(是可读的还是可写的?)

在 JavaScript 中,所有属性都是可读的,但是只有值是可修改的(只有当属性为可写时)。

(ECMAScript 5 拥有获取和设置所有属性特性的方法)

63.2.7 原型属性

JavaScript 对象继承了它们的原型的属性。

delete 关键词不会删除被继承的属性,但是如果您删除了某个原型属性,则将影响到所有从原型继承的对象。

相关文章:

  • 网站优化服务合同/专业做网站
  • 网站建设主要用什么软件/搜索引擎下载安装
  • 天水地区建网站/百度一下首页版
  • 阿里云上怎么做网页网站/色盲测试
  • wordpress 点餐主题/淘宝流量
  • 跨境电商到什么网站做/企业搜索引擎优化
  • Python configparser模块
  • 梦开始的地方 —— C语言指针进阶
  • 计算机毕设(附源码)JAVA-SSM基于的智慧校园安防综合管理系统
  • (七)Mybatis传值中#{}和${}的区别,及别名机制
  • 云原生之快速使用Nacos Spring Cloud
  • 【Vue】vue-router的基本使用 | 路由懒加载 | 补充知识点
  • 装了我这 10 个 IDEA 神级插件后,同事也开始情不自禁的嘚瑟了
  • java-php-python-火炬中学校刊在线投稿审稿系统计算机毕业设计
  • Qt中中文处理-编码格式转换
  • 《设计模式:可复用面向对象软件的基础》——行为模式(3)(笔记)
  • Spring Bean 的生命周期(看着图不迷路)
  • 自动化早已不是那个自动化了,谈一谈自动化测试现状和自我感受……