js-对象
js-对象(简述)
(1) 什么是对象
现实生活中:万物皆对象,对象是一个具体的事物,一个具体的事物就会有行为和特征。
JavaScript中的对象其实就是生活中对象的一个抽象,
其属性可以包含基本值、对象或函数。
对象就是一组没有顺序的值。我们可以把JavaScript中的对象想象成键值对,其中值可以是数据和函数。
(2) 本质: 键值对;
(3) 意义:存储数据和编程;
(4) 创建方式:
1. 通过new关键字创建对象:
1 2 3 4 5 6 7 | var obj = new Object(); // 添加属性 obj.name = "admin" ; // 添加方法 obj.show = function () { console.log( "我是" + this .name ); }; |
2. 通过字面量创建对象
1 2 3 4 5 6 7 | var obj = { name : "zhangsan" , age : "18" , show : function () { console.log( '' 我是 '' + this .name+ "年龄" + this .age); } }; |
3. 通过构造函数创建对象
1 2 3 4 5 6 7 8 9 10 11 | function Person(name, age) { this .name = name; this .age = age; this .say = function(name) { console.log( "你好: " + name + "!" ); }; } // 创建两个Person对象 var person1 = Person( "admin1" , 18); var person2 = Person( "admin2" , 28); |
(5) 属性和方法
如果一个变量属于一个对象所有,那么该变量就可以称之为该对象的一个属性,属性一般是名词,用来描述事物的特征
如果一个函数属于一个对象所有,那么该函数就可以称之为该对象的一个方法,方法是动词,描述事物的行为和功能
(6) 访问对象的属性和方法
1.点语法:
形为: 对象.具体属性或方法;
2.中括号语法:
形为: 对象[变量] 或 对象["具体属性或方法"];
区别:中括号法可以用变量作为属性名,而点语法不可以;
中括号法可以用数字作为属性名,而点语法不可以。
1 2 3 4 5 6 7 8 9 10 11 12 13 | var obj = { name : "xiaoming" , age : 18, 123:123, show : function () { console.log( "我是" + this .name+ "年龄" + this .age); } }; console.log(obj[ "name" ]); // 输出:"xiaoming" console.log(obj.name); // 输出:"xiaoming" var age = "age" ; console.log(obj[age]); // 输出:18 console.log(obj[ "123" ]); // 输出:123 |
(7) 对象的遍历
1 2 3 4 5 6 7 8 9 10 11 | var obj = { name : "xiaoming" , age : 18, 123:123, show : function () { console.log( "我是" + this .name+ "年龄" + this .age); } }; for ( var i in obj){ console.log(i) //输出的是key; } |
(8)删除对象的属性(最好不用):
delete 对象.属性/方法
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!