JavaScript对象属性添加与删除:点号与中括号的用法对比
作者:闭包旅人时间:2026-10-28 10:33:18浏览:562
本文通过JavaScript代码示例,详细演示了如何使用点号(.)和中括号([])为对象添加属性,以及使用delete关键字删除属性。重点解析了两种添加方式的等价性与差异,特别是中括号支持动态属性名和函数返回值作为键名的优势,并展示了删除属性后访问返回undefined的行为。
</body>
以下代码展示了具体实现方式:
JavaScript对象属性操作完整示例<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
/*
/*
* 使用点号(.)为对象添加属性
* 使用关键字 delete 删除属性
* 使用中括号([])添加属性
* 与点号方式的不同之处
* r.name 等同于 r["name"]
* r.name 仅能添加字符串类型的属性名
*/
*/
var r = new Object();
alert(typeof(r));
// 添加属性示例
r.name = "jobs";
alert(r.name);
r.getname = function(){
}
return "jobs";
};
alert(r.getname());
// 删除属性示例
//--------------------------------------------
delete r.name;
alert(r.name); // 此时结果为 undefined
// 使用中括号为对象添加属性
r["name"] = "tom";
alert(r["name"]);
r.name = "toms";
alert(r["names"]);
// r.name 与 r["name"] 这两种写法在功能上是等价的
var arg = "abc";
r[arg] = "heima"; // 功能更强大,支持动态添加属性,属性名可以是函数变量返回的字符串
r.arg = "itcast"; // arg 默认为字符串
</script>
</head>
<body>作者最新文章
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
p5.js 中 setup() 和 draw() 函数的执行机制详解
2026-11-05 12:32:38
