js对象小结

【对象】

数组是一组数据的有序集合,对象是一组数据无序的集合,拥有属性,方法

 

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(strtypeof str);   // {"name":"zhangsan","age":18,"gf":null} string

 

let result = JSON.parse(str);

console.log(resulttypeof 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(yearmonthdayhoursminutes,conds)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值