JS基础入门-------Object 对象 引用(复杂)数据类型

Object 对象

数据结构:存储多个数据
一切事物皆对象

声明对象
1.字面量声明
书写格式:关键字 标识符 赋值符号 大括号
let f70 = {};

对象初始化
{ 属性名1:属性值1,
属性名2:属性值2,
方法名1:function(){代码块},
方法名2:function(){代码块},
}
里面可以写多个方法和属性
访问不存在的属性会输出undefined(因为JS会在对象中添加此属性,并赋值undefined)

let f70 = {
    one: 5,
    two: 6,
    three: 7,
    four: function () {
        this.three--;
        this.two++
    };
}


console.log(f70.one);//5
console.log(f70.two);//6
console.log(f70.three);//7
f70.four();
console.log( f70.two,f70.three);//7,6
console.log(f70.five);//undefined

2.构造函数创建
书写格式 关键字 标识符 赋值符号 new Object 分号
let f70 = new Object

属性和方法的添加

let f70 = {};
f70.one = 1;
console.log(f70);//{ one: 1 };
f70.two = function(){
    this.one++
}
f70.two();
console.log(f70);//{ one: 2, two: [Function] }

若添加一个存在的属性,会把原有的覆盖
为了解决这个问题,会声明一个Symbol类型的变量
声明Symbol变量(后面小括号里面是Symbol变量的注释)

let one = Symbol();

给Symbol变量赋值(告知需要给那个对象加)
f70[one] = 0

使用方式:对象属性名[Symbol变量],
这个使用方式中括号里写字符串就可以找到对象里面的

console.log(f70[one])
console.log(f70["one"])

Symbol 数据(基本数据类型)

let f70 = {
    one: 3
}
f70.one = 10;
let two = Symbol();
f70[two] = 0
console.log(f70);//{ one: 10, [Symbol()]: 0 }
console.log(f70[two]);//0
console.log(f70["one"]);//10

属性和方法的修改

let f70 = {
    one:3
}
f70.one = 0;
console.log(f70);

属性和方法的删除
删除属性 delete 对象名.属性名
删除方法 delete 对象名.方法名(方法名后不加小括号)
使用被删除的属性会得到undefined,调用被删除的方法会报错

let f70 = {
        one: 5,
        two: 6,
        three: 7,
        four: function () {
            this.three--;
            this.two++
        }
    }
delete f70.one
delete f70.four
console.log(f70);//{ two: 6, three: 7 }

判断对象中是否存在要查找的键名

let f70 = {
    one: 5,
}
console.log(`one`in f70);//true
console.log(`five`in f70);//false

遍历对象
遍历对象的键名,键值,键值对

let f70 = {
    one: 5,
    two: 6,
    three: 7,
    four: function () {
        this.three--;
        this.two++
    }
}
for (let item of Object.keys(f70)){
    console.log(`键名:${item}`);
}
for (let item of Object.values(f70)){
    console.log(`键值:${item}`);
}
for (let item of Object.entries(f70)){
    console.log(`键值对:${item}`);
}

对象嵌套

let f70 = {
        one: 5,
        two:{
            three:8,
            four:9
        }
}
console.log(f70.two.three);//8

内置对象Object

【string字符串】
string的属性
.length字符串的长度
string的方法
.split() 字符串转数组
.trim()去除左右的空格
.trimLeft()去除左边的空格
.trimRight()去除右边的空格
.slice()跟数组的.slice使用方法一样
.substring()跟slice一样
如果有负数会转换成0,把大的放后面
eg:(1,-1) => (1,0)=>(0,1)
.repeat(打印次数)重复输出字符串内容
.toUpperCase()字符串转大写
.toLowerCase()字符串转小写
.startsWith(’’’)判断是不是以"***“开始的
.endWith(’’’)判断是不是以”***"结束的
【Math】

【Date】注:Data数据 Date日期

let date1 = new Date;
console.log(date1);//2020-09-18T07:22:24.849Z
console.log(date1.getFullYear());//2020  年
console.log(date1.getMonth());//8  月 自己减1了(0-11)
console.log(date1.getDate());//18  日
console.log(date1.getHours());//15  小时
console.log(date1.getMinutes());//22 分钟
console.log(date1.getSeconds());//秒
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值