【对象】
数组是一组数据的有序集合,对象是一组数据无序的集合,拥有属性,方法
1.1、【属性】
对象拥有的数据
1.2、【方法】
对象拥有的操作
2.3、【内置对象】
数组、Set、Map、函数等
2【创建对象】
let name="zhangsan";
let obj ={
name,
age:18
}
console.log(obj.name); //zhangsan
【遍历】
1.for in 遍历到键
let name="zhangsan";
let obj ={
name,
age:18,
gender:"male"
};
for(let key in obj){
console.log(obj[key]); //zhangsan
18
male
}
注:object.keys(obj)返回所有key的arr
let name="zhangsan";
let obj ={
name,
age:18,
gender:"male"
};
let arr=Object.keys(obj);
for(let item of arr){
console.log(obj[item]); //zhangsan
} 18
【嵌套】
let arr = {
kangkechao: {
name: "TangKeChao",
age: 22,
male: "male"
},
hedahai: {
name: "hadahai",
age: 17,
gender: "famale"
}
};
console.log(F69.kangkechao) //{ name: 'TangKeChao', age: 22, male: 'male' }
【解构】
let {name:name}={name:"zhangsan"};
let {name}={name:"zhangsan"};
console.log(name); //zhangsan
let obj={
name:"zhangsan",
age:18
};
let fn=function({name,age}){
console.log(name,age); //zhangsan 18
}
fn(obj);
let obj={
name:"zhangsan",
age:18
};
let fn=function({name,age,tel=520}){
console.log(name,age,tel); //zhangsan 18 520
}
fn(obj);
注:对象中的 this指的就是当前对象
let obj={
name:"zhangsan",
age:18,
talk(){
console.log(this.name); //zhangsan
}
};
obj.talk();
【JSON】 javascript object notation
数据存储 传输方式
HTML -> xml 可扩展标记语言
<name>zhangsan</name>
<age>18</age>
序列化 反序列化
【序列化】 JSON.stringify(obj)-->string
let obj={
name:"zhangsan",
age:18,
};
let str=JSON.stringify(obj);
console.log(str,typeof str); //{"name":"zhangsan","age":18} string
不会保存 function 、undefined 键使用""引起来
let obj={
name:"zhangsan",
age:18,
job:undefined,
gf:null,
talk(){
console.log(666);
}
};
let str=JSON.stringify(obj);
console.log(str,typeof str); // {"name":"zhangsan","age":18,"gf":null} string
【反序列化】 JSON.parse(str) string-->obj
let obj = {
name: "zhangsan",
age: 18,
job: undefined,
gf: null,
talK() {
console.log(666);
}
};
console.log(typeof obj); // object
let str = JSON.stringify(obj);
console.log(str, typeof str); // {"name":"zhangsan","age":18,"gf":null} string
let result = JSON.parse(str);
console.log(result, typeof result); //{ name: 'zhangsan', age: 18, gf: null } 'object'
【symbol】
symbol是独一无二的值
【创建symbol】
let s=symbol(对当前这个symbol的描述)
Let s=symbol("描述符");
console.log(s); //symbol(描述符)
let s1=symbol("描述符");
let s2=symbol("描述符");
console.log(s1==s2); //false
【给对象添加symbol 键】
1.obj(symbol)=value
let obj={
name:"zhangsan",
age:18,
}
let name=Symbol('name'); //对象名[键名]->要事先创建一个symbol值 let name=symbol('键名')
obj[name]='lisi';
console.log(obj); //{ name: 'zhangsan', age: 18, [Symbol(name)]: 'lisi' }
obj.name='张三'
console.log(obj); //{ name: '张三', age: 18, [Symbol(name)]: 'lisi' } --->symbol未改变
```
【定义对象时直接添加】
let name=Symbol("name");
let obj={
name:"zhangsan",
age:19,
[name]:"lisi"
};
console.log(obj); //{ name: 'zhangsan', age: 19, [Symbol(name)]: 'lisi' }
obj.name="zhangsan";
console.log(obj); //{ name: 'zhangsan', age: 19, [Symbol(name)]: 'lisi' }
【字符串相关方法】
1、【str.charAt(index)】 //下标找到的字符
let str="ABCD EFG";
console.log(str.charAt(1)); //B
2、【.str.charCodeAt(index)】 //字符的ASCII码
let str="ABCD EFG";
console.log(str.charAt(1)); //B
console.log(str.charCodeAt(0)); //65
3、【str.indexOf(value)】 str.lastIndexOf(value) //返回下标 ,没有就-1
let str="ABCD EFG";
console.log(str.charAt(1)); //B
console.log(str.charCodeAt(0)); //65
console.log(str.indexOf("A")); //0
console.log(str.lastIndexOf("E")); //5
4、【str.trim()】 //去掉字符串前后空格
let str="abc ";
console.log(str.length); //6
str=str.trim();
console.log(str,str.length); // abc 3
5、【str.toUpperCase()、str.toLocaleLowerCase()】 //大小写转换
let str="ABCD EFG";
console.log(str.toUpperCase()); //ABCD EFG
console.log(str.toLocaleLowerCase()); //abcd efg
6、【str.concat()】 //拼接
7、【str.slice()】 //截取
【对于基本数据类型操作属性】
包装的目的,万物皆对象
let str=new String("abc");
str.color="red" ;
console.log(str.color); //red
【Math】
1.Math.PI //圆周率
2.min( ) max( ) //最大最小
let max =Math.max(1,22,13,55);
console.log(max); //55
let arr =[1,22,13,55];
let max=Math.max(...arr);
console.log(max); //55
3、【向上取整 Math.ceil 取离我最近的大于我的整数】
let j=123.9;
console.log(Math.ceil(j));//124
4、【向下取整 Math.floor 取离我最近的小于我的整数】
let j=123.9;
console.log(Math.floor(j));//123
【四舍五入】
let j=123.4;
console.log(Math.round(j));//123
let j=123.8;
console.log(Math.round(j));//124
【时间对象】// let date=new.Date();
1、【获取年】
let year=date.getFullYear();
2、【获取月】
date.getMonth()+1;
3、【获取日】
date.getDate( );
4、【小时】
date.getHours( );
5、【分钟】
date.getMinutes( );
6、【秒】
date.getSeconds( );
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
let hours = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();
console.log(year, month, day, hours, minutes,conds)