JavaScript对象
什么是对象
数组是一组数据的有序集合,对象是一组数据无序的集合,拥有属性、方法
属性:对象拥有的数据
方法:对象拥有的操作
内置对象:数组、Set、Map、函数等
创建对象
-
字面量 let obj = {}
-
构造函数 let obj = new Object()
-
对象中某条数据的键对应的值不是函数,就对这条数据称为“属性”
let obj = { name:"zhangsan" key 键 value 值 }
对象属性
-
创建时添加
let obj = { name:"zhangsan", age:18 }; -
obj.key = value
-
obj(string) = value
删 delete obj.key
查 obj.key
改 obj.key = newValue已有的是改,没有的是增
let obj = {
name = "zhangsan",
age:18,
talk: function(){
console.log(`我叫${obj.name},今年${obj.age}岁`);
}
};
obj.talk();
语法糖
let name = "zhangsan";
let obj = {
name,
age:18
};
console.log(obj.name); //zhangsan
遍历
1.for in 遍历到键
let name = "zhangsan";
let obj = {
name,
age:18
};
console.log(let key in obj){
console.(log obj[key];) //18,male
}
2.Object.keys(obj) 返回拥有所有key的arr
let arr = Obejct,keys(ob);
for(let item of arr){
console.log(obj[item]);
}
//----------嵌套
let obj = {
zhangsan:{
name:"zhangsan",
age:22,
gender:"famale"
},
lisi:{
name:"lisi",
age:17,
gender:"male"
}
};
console.log(obj,zhangsan.age); //22
//-----解构
let {name:a}={name:"zhangsan"};
let{name:name}={name:"zhangsan"};
let{name}={name:"zhangsan"};
console.log(name);
let obj = {
name:"zhangsan",
age:18
};
let fn = function({name,age,tel=987654}){
console.log(name,age,tel);
}
fn(obj); //"zhangsan 18 987654"
this
对象中的 this 指的就是当前对象
let obj = {
name:"zhangsan",
age:18
talk(){
console.log(this.name);
}
};
obj.talk(); // zhangsan
常见的几种对象
JSON JavaScript object notation
数据存储、传输格式
HTML -> xml 可扩展标记语言
序列化
JSON.stringify(obj) obj -> string
反序列化
JSON.parse(str) string -> obj
不会保存 function、undefined、键使用""引起来
let obj = {
name:"zhangsan",
age:18
};
console.log(typeof obj); //object
let str = JSON.stringify(obj);
console.log(str,typeof str); //string
Symbol
独一无二的值
let s1 = Symbol("描述符");
console.log(s1); //Symbol(描述符)
let s2 = Symbol("描述符");
console.log(s1==s2); //false
给对象添加 symbol 值
1.obj[symbol] = value;
2.定义对象时直接添加
字符串对象
-
str.charAt(index) 通过下标找到字符
let str = "ABCD EFG"; console.log(str.charAt(1)); //B -
str.charCodeAt(index) 输出字符的 ASCII 码
let str = "ABCD EFG"; console.log(str.charCodeAt(0)); // 65 -
str.indexOf(value) str.lastIndexOf(value) 返回下标,没有的为 -1
let str = "ABCD EFG"; console.log(str.indexOf("C")); // 2 console.log(str.lastIndexOf("Z")); // -1 -
str.trim() 去掉字符串前后的空格
let str = " abc "; console.log(str.length); //5 str = str.trim(); console.log(str,str.length); //abc 3 -
str.toUpperCase() str.toLocaleLowerCase() 大小写转换
let str = "AbCd EfG"; console.log(str.toUpperCase()); //ABCDEFG console.log(str.toLocaleLowerCase()); //abcdefg -
str.concat() 拼接
- str.slice() 截取
包装类型
string boolean number
对于基本数据类型操作属性、方法,自动装箱,使用完成后自动拆箱。
包装的目的:万物皆对象
Math 数学对象
- Math.PI 圆周率
- min() max() 最小/最大
- ceil() floor() round() 向上取整 / 向下取整 / 四舍五入
- random()
Date 日期对象
let date = new Date();
-
获取年
let year = date.getFullYear();
-
月
date.getMonth()+1;
-
日
date.getDate()
-
小时
date.getHours()
-
分钟
date.getMinutes()
-
秒
date.getSeconds()
JavaScript对象是无序数据集合,包含属性和方法。创建对象可通过字面量或构造函数,属性可增删查改。常见的对象包括JSON、Symbol、字符串、包装类型、Math和Date。JSON用于数据传输,Symbol提供唯一值,字符串对象包含多种方法,包装类型如string、boolean、number支持对象操作,Math提供数学运算,Date处理日期和时间。

659

被折叠的 条评论
为什么被折叠?



