js基础day5

1.基本数据类型:

需要多个变量

弊端:冗余

好处: 阅读性高

2.使用复杂数据类型:

一个变量存储多个数据

弊端:阅读性不高

好处: 一个变量存储多个数据

3.使用对象:

一个变量存储多个数据 + 阅读性高 object

  • let object = { name: 'min', sex: '男', age: 32 }

对象与数组的异同点:

相同点:

都是引用类型, 都可以存储多个数据

不同点:

存储方式不同

数组:

有序存储(下标从0开始递增)

对象:

无序存储(属性名和属性值一一对应, 键值对)

对象的语法:

从左往右读

1.声明对象语法:

  • let 对象名 = {
  • 属性名: 属性值,
  • 方法名: 函数
  • }

对象取值:

1.点语法:

  • 对象名.属性名

2.字符串语法:

对象名['属性名'] 没声明会报错 (解析变量名)

3.如果属性名存在, 则是获取属性值

4.如果属性名不存在, 则是获取undefined

对象赋值:

  • 对象名.属性名 = 值

3.如果属性名存在, 则是'修改'属性值

4.如果属性名不存在, 则是'新增'属性

2.对象的取值:

  • 对象名.属性名

2.1属性名存在, 则获取属性值

2.2属性名不存在, 再获取undefined

3.对象赋值

  • 对象名.属性名 = 值

3.1属性名存在, 则是修改属性值

3.2属性名不存在, 则是新增属性值

查询对象属性:

1.点语法:

  • 对象名.属性名

2.字符串语法:

  • 对象名['属性名']

1.声明对象

  • let 对象名 = { 属性名1: 属性值2, 属性名2: 属性值2...}
  • let person = {
  • name: 'hu',
  • age: 32,
  • hobby: ['学习', '讲课', '学生'],
  • sayHi: function () {
  • console.log(大家好,我是hu)
  • },
  • nver: { name: 'lu' }
  • }
  • console.log(person)

对象的增删改查:

  • 1.点语法获取属性值:对象名.属性名

对象的属性是什么类型, 取出来就可以使用这个类型对应的语法

对象查询语法注意点:

1.如果有属性名则是获取属性值

2.如果没有属性名则获取undefined

3.点语法和字符串语法在使用的时候没有区别, 但是字符串语法支持变量的取值

对象遍历:

对象遍历for-in循环 :

  • for(let key in 对象名){对象名[key]}

注意点:对象遍历只能使用字符串语法取值

环境对象this:

谁调用这个函数,this就指向谁

内置对象:

js作者提前写好的对象,开发者直接使用即可.无需关心内部实现

1.获取圆周率 Math.PI

2.向上取整 Math.ceil()

只对小数生效,如果是整数取整永远都是自身

3.向下取整 Math.floor()

4.四舍五入 Math.round()

5.求一组数字最大值 Math.max(数字1,数字2,数字3....)

6.求一组数字最小值 Math.min(数字1,数字2,数字3....)

7.幂运算 Math.pow(x,y) x的y次方

8.生成0-1随机小数 Math.random()/* 重点记住 */

Date日期对象:

1.创建日期对象:let date = new Date()

2.转换日期格式:console.log(date.toLocaleString())

3.获取年月日时分秒

4.1-12月对应0-11下标

5.星期天-星期六 0-6

6.创建自定义时间 let myDate = new Date('') yyyy-mm-dd HH:mm:ss

7.获取时间戳 1970年到现在的总毫秒数(用于兼容时间)

数组对象:

1.join():把数组每一个元素拼接成字符串

()里面的参数就是分隔符

2.reverse():翻转数组

3.sort()数组排序

固定语法:

如果一个函数的参数是函数类型,那么这个参数函数称之为回调

arr1.sort(function(a,b)){

return a-b //从小到大

return b-a //从大到小

}

4.数组去重:声明一个空数组存储去重后的数组,遍历数组,检查arr的元素在不在newArr中

String对象:

1.长度(标点符号也算长度)

2.字符串和数组有点类似,也可以通过下标来获取单个字符

3.indexOf:检查某个字符在不在字符串中

在:返回首字符下标 不在:-1

4.replace:替换字符 str.replace('旧字符','新字符')

如果你想要删除某个字符,只需要替换成空字符串即可

5.split():切割字符串

str.split('分隔符'):以指定分隔符将字符串隔成几个部分,放入数组中

6.substr():截取字符

str.substr(起始位置,截取数量)

7.转换大小写:中文没有大小写

console.log(toLocaleUpperCase)大写

console.log(toLocaleLowerCase)小写

cconst 和 let (简单数据类型和复杂数据类型)

值类型和引用类型的区别:

值类型:栈中存储数据,复制拷贝的是栈数据,修改拷贝后的数据对原数据'没有影响'

引用类型:栈中存储地址,赋值拷贝的是栈地址.堆中存储数据,修改拷贝的后的数据对原数据'有影响'

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值