JavaScript 对象属性

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

JavaScript 属性

属性指的是与 JavaScript 对象相关的值。JavaScript 对象是无序属性的集合。属性通常可以被修改、添加和删除,但是某些属性是只读的。

访问 JavaScript 属性

访问对象属性的语法是:

复制代码
objectName.property           // person.age

或者:

复制代码
objectName["property"]       // person["age"]

或者:

复制代码
objectName[expression]       // x = "age"; person[x]

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

例子 1

复制代码
<!DOCTYPE html>
<html lang="en">

<body>
    <p id="demo"></p>
    <script>
        var person = {
            firstname: "Rose",
            lastname: "li",
            age: 20,
            color: "pick"
        };
        document.getElementById("demo").innerHTML = person.firstname + " is " + person.age + " years old.";
    </script>
</body>

</html>
//Rose is 20 years old.

例子 2

复制代码
<!DOCTYPE html>
<html>

<body>

    <p id="demo"></p>

    <script>
        var person = {
            firstname: "Rose",
            lastname: "li",
            age: 20,
            color: "pick"
        };

        document.getElementById("demo").innerHTML = person["firstname"] + " is " + person["age"] + " years old.";
    </script>

</body>

</html>
//Rose is 20 years old.

JavaScript for...in 循环

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

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

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

复制代码
<!DOCTYPE html>
<html>

<body>

    <p id="demo"></p>

    <script>
        var txt = "";
        var person = { fname: "Rose", lname: "Li", age: 20 };
        var x;
        for (x in person) {
            txt += person[x] + " ";
        }

        document.getElementById("demo").innerHTML = txt;
    </script>

</body>

</html>
//Rose Li 20

添加新属性

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

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

实例

复制代码
<!DOCTYPE html>
<html>

<body>

    <p id="demo"></p>

    <script>
        var person = {
            firstName: "Rose",
            lastName: "Li",
            age: 20,
            color: "blue"
        }
        person.nationality = "China";
        document.getElementById("demo").innerHTML = person.firstName + " is " + person.nationality + " .";
    </script>

</body>

</html>
//Rose is China .

删除属性

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

复制代码
<!DOCTYPE html>
<html lang="en">
<body>
    <p id="demo"></p>
    <script>
        var person={
            frirstname:"Rose",
            lastname:"Tina",
            age:20,
            color:"blue"
        }
        delete person.age;
        document.getElementById("demo").innerHTML=
        person.frirstname+" is "+person.age+" years old";
    </script>

</body>
</html>
//Rose is undefined years old

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

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

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

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

属性值

所有属性都有名称。此外它们还有值。值是属性的特性之一。

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

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

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

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

原型属性

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

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

相关推荐
瀚高PG实验室2 分钟前
几种因网络波动导致应用与数据库操作异常的现象
运维·网络·数据库·postgresql·瀚高数据库
风曦Kisaki3 分钟前
# Kubernetes(K8s)笔记Day15:K8s网络工作原理【Pod 网络模型,CNI 网络插件,Calico 工作模式详解,BGP协议,路由反射器】
运维·网络·nginx·云原生·容器·kubernetes
allforgood5 分钟前
管理 SELinux 安全性
linux·运维·网络
Fnetlink19 分钟前
Fnet 云网安 260810
网络·安全·web安全
Safeploy安策数据15 分钟前
网络保密机如何部署?破解敏感数据跨域流转安全难题
网络·安全
breeze jiang20 分钟前
React + WebGPU 在浏览器运行 DeepSeek:从 Worker 通信到流式生成
前端·javascript·react.js
sunly_37 分钟前
React 三个重要概念:Ref、Props、State 详解
前端·javascript·react.js
Mh44 分钟前
如何使用GSAP实现一个 `pinned` 滚动楼层叙事?
前端·javascript·css
xixiaoyunya2 小时前
移动办公场景下手机远程访问内网设备的技术方案选型与实践
网络·智能手机·智能路由器
Larcher7 小时前
React Router 不只是页面跳转:从 SPA 路由到权限守卫的完整实践
javascript·后端