当前位置:网站首页>JS基础笔记-关于对象
JS基础笔记-关于对象
2022-08-09 22:18:00 【东方睡衣】
对象
JS中数据类型
String、Number、Boolean、Null、Undefined------这些都是基本数据类型,其余都是对象;
Object-----对象(引用数据类型);
基本数据类型都是单一的值,值与值之间没有任何的联系。
在JS中表示一个人能的信息(name、gender、age) 以下的每一个变量都是独立的,不能成为一个整体;
var name = 'Lisa'; var gender = '男'; var age = 18;
对象是一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。
对象的分类
1.内建对象
由ES标准中定义的对象,在任何的ES的实现中都可以实现;
比如:—Math、String、Number、Boolean、Function、Object…
2.宿主对象
由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象;比如:BOM DOM;
console.log(); //console即为对象;
3.自定义对象
开发人员自己创建的对象;
对象的基本操作
创建对象
使用new关键字调用的函数,是构造函数constructor,构造函数是专门用来创建对象的函数;
var obj = new Object();
在对象中保存的值称为属性;
向对象添加属性语法格式: 对象.属性名=属性值;
var obj = new Object();
obj.name = '小红';
obj.gender = '男';
obj.age = 18; //输出{name: '小红', gender: '男', age: 18}
读取对象的属性
语法格式:对象.属性名
obj.name
注意:读取对象中没有的属性,不会报错,会返回undefined
修改对象的属性值
语法格式:对象.属性名=新属性值
删除对象的属性
语法格式: delete 对象.属性名
delete obj.name;
注意
注意:关于对象的属性名, 不强制要求遵守标识符的规范,尽量还是规范
如果要使用特殊的属性名,不可以使用点的方式来操作
语法:对象[“属性名”]=属性值
var obj = new Object();//创建一个空对象
obj["123"] = 21;
console.log(obj["123"]);
使用 [ ] 这种形式来操作属性,更加的灵活, [ ] 中也可以放变量,这样变量是多少就会读取哪个属性
注意:关于属性值
属性值可以时任意值,也可以是对象
var obj = new Object();
var obj2 = new Object();
obj2.name = '猪八戒';
obj.test = obj2;
console.log(obj.test.name);//猪八戒
检查对象中是否有某一个对象
语法: “属性名” in 对象
console.log("name" in obj2);
显示true或false
基本数据类型和引用数据类型
- 基本数据类型比较的是值
- 引用数据类型保存的是地址
使用对象字面量
创建一个对象
var obj = {}; //创建了一个空对象
使用对象字面量可以在创建对象时,直接给对象中的属性;
语法:{属性名:属性值,属性名:属性值…}
var obj = {
name: "猪八戒",
age: 12,
gender: "男",
test: { name: "沙和尚" }
};
console.log(obj);
边栏推荐
猜你喜欢
金仓数据库 KingbaseGIS 使用手册(6.5. 几何对象编辑函数)
2022-8-9 第六组 输入输出流
【实用工具系列】MathCAD入门安装及快速上手使用教程
Gartner全球集成系统市场数据追踪,超融合市场增速第一
新增一地公布2022下半年软考报考时间
2022年最新《谷粒学院开发教程》:10 - 前台支付模块
“我“是一名测试/开发程序员,小孙的内心独白......
HUAWEI CLOUD escorts the whole process of "Wandering Ark" for the first time, creating a popular brand
生成NC文件时,报错“未定义机床”
中国SaaS企业排名,龙头企业Top10梳理
随机推荐
How to match garbled characters regularly?
leetcode 20. Valid Parentheses 有效的括号(中等)
Leetcode 98. 验证二叉搜索树
Has your phone ever been monitored?
2022-8-9 第六组 输入输出流
Janus Official DEMO Introduction
联盟链技术应用的难点
全面解析FPGA基础知识
Sqlserver restricts the ip under which accounts can access the database
Leetcode 236. 二叉树的最近公共祖先
探索TiDB Lightning源码来解决发现的bug
Mysql/stonedb - slow SQL - 2022-08-09 Q16 analysis
Sqlserver限制账户在哪些ip下才可以访问数据库
金仓数据库 KingbaseGIS 使用手册(6.3. 几何对象创建函数)
70. Stair Climbing Advanced Edition
【JZOF】82二叉树中和为某一值的路径(一)
Interfering with BGP routing---community attributes
生成NC文件时,报错“未定义机床”
【JZOF】32从上往下打印二叉树
Qt message mechanism and events