web学习笔记10-对象2

一、数组

1.API

API:应用程序编程接口,在JS下表示预定义的函数和方法,可以直接调用

parseInt()/parseFloat()/Number()/isNaN()/hasOwnProperty()…

toString() 将数组转为字符串,元素之间用逗号分割

join() 将数组转为字符串,元素之间默认是用逗号分割,也可以指定分割符

如何学习一个API:作用、参数、返回值

学习数组API还需要注意:原数组是否会发生变化

concat(arr2, arr3) 拼接多个数组,arr2,arr3表示要拼接的数组,返回拼接后的数组,原数组不会发送变化

slice(start, [end]) 截取数组元素,start开始的下标,end结束的下标,end为空会截取到最后,下标为负数表示倒数;返回截取的数组,原数组不会发送变化

练习:创建数组,包含a~h,每个字母是一个元素,分别截取bc,f;再将截取的两个数组拼接成一个数组。

splice(start, [count], [v1], [v2]…) 删除数组元素,start 开始的下标,count要删除的数量,count为空会删除到最后;下标是负数表示倒数;v1,v2删除后要补充的元素;返回删除的元素,原数组会发生变化。

练习:创建数组,包含a~h,每个字母是一个元素,删除de,替换g为m,在下标为1的位置插入z。

reverse() 翻转数组元素,返回翻转后的数组,原数组会发生变化

sort() 对数组进行排序,默认是按照首个字符的Unicode编码排列

sort(function(a, b) {
    return a - b  //按照数字从小到大排列
    // return b - a  //按照数字从大到小排列
})

2.二维数组

数组中的元素还是数组,用于对数据进行二次分类

[ [ 元素1, 元素2 ], [ 元素3, 元素4 ], … ]

二、字符串对象

包装对象:目的是为了让原始类型的值具有属性和方法,JS中提供三种包装对象,分别是字符串对象、数字对象、布尔对象

new String()   // 将一个字符串包装为对象
String()   // 将一个值转换为字符串型

1.转义字符 \

改变字符本身的意义

\’ 将一个具有特殊意义的引号转义为普通引号

\t 将字符t转义为制表符,tab键效果,会产生一组连续空格

\n 将字符n转义为换行符

2.API

length 获取字符串的长度

charAt() 获取下标对应的字符,也可以使用数组的格式 字符串[下标]

练习:遍历字符串javascript,统计出字符a出现的次数。

var count = 0
for(var i=0; i<str.length; i++) {
    // console.log(str[i])
    // 判断当前字符是否为a
    if(str[i] === 'a') {
        count++
    }
}
console.log(count)

面试题:统计出javascript中哪一个字符出现的次数最多,出现了多少次。

indexOf() 查找字符串中是否含有某个字符串,返回满足条件的第一个的下标,不含有返回-1

lastIndexOf() 查找字符串中是否含有某个字符串,返回满足条件的最后一个的下标,不含有返回-1

slice(start, [end]) 截取字符串,start开始的下标,end结束的下标,end为空会截取到最后,下标为负数表示倒数,返回截取的字符串

练习:声明变量保存用户的邮箱,分别截取出邮箱的用户名和域名​

var str = '123456abc@163.com'
// 获取@下标
var index = str.indexOf('@')
// console.log(index)
// 截取
console.log(str.slice(0, index))
console.log(str.slice(index+1))

toUpperCase() 英文字母转大写

toLowerCase() 英文字母转小写

split(s) 将字符串转为数组,s表示指定分割的字符

练习:翻转字符串

​ ‘abcd’ -> ‘dcba’

var str = 'abcd'
// 字符串转数组,将每个字母作为一个元素
console.log(str.split('').reverse().join(''))

练习:将一句英文中的每个单词首字母大写,其余字母小写
‘hOw aRe yOU’ -> ‘How Are You’

三、Math对象

提供一组数学相关的API,是一个特殊的对象,不需要创建,直接调用

PI 获取圆周率

abs 绝对值

ceil 向上取整

floor 向下取整

round 四舍五入取整

pow(x,y) x的y次方

max() 获取一组数字的最大值、

min() 最小值

random 获取随机数,默认[0,1)

四、Date 日期时间对象

用于日期时间的存储和计算

1,创建

var d1 = new Date('2023/4/4 10:59:11')
var d2 = new Date(2023,3,4,10,59,11)  //月份参数的值是0-11对应1-12
// 获取当前系统时间
var d3 = new Date()
// 时间戳  距离计算机元年的毫米数(1970/1/1 0:0:0:0)
var d4 = new Date(11222334454567)

2,获取

//获取Date中的值
var d = new Date()
console.log(d.getFullYear())
console.log(d.getMonth())
console.log(d.getDate())
console.log(d.getHours())
console.log(d.getMinutes())
console.log(d.getSeconds())
console.log(d.getMilliseconds())
console.log(d.getDay())
//获取时间戳
console.log(d.getTime())

3,设置

可以修改date对象中存储的值

console.log(d.setFullYear())
console.log(d.setMonth())
console.log(d.setDate())
console.log(d.setHours())
console.log(d.setMinutes())
console.log(d.setSeconds())
console.log(d.setMilliseconds())
//获取时间戳
console.log(d.setTime())

4,拷贝

var d = new Date('2023/4/4/ 15:24:30')
//拷贝date对象
var d2 = new Date(d) //将需要拷贝的对象作为参数传入

5,将date对象转为字符串

toLocaleString()

存在兼容性问题,只能在开发环境中使用

五、数值对象

new number()将一个数字包装为对象

number() 将值强制转化为数值型

toFixed(n)    保留小数点后的n位

六、布尔对象

new Boolean()将一个布尔值包装为对象

!!值 将一个值隐式转化为布尔型

七 、错误处理

1,常见错误

语法错误:代码编写不符合语法规范,例如:缺少结束括号,使用了中文符号

Uncaught SyntaxError:

引用错误:访问的变量找不到,例如:变量名写错,作用域限制,影响后面代码不再执行

Uncaught ReferenceError:

类型错误:调用的API或者函数,不是一个函数类型

Uncaught TypeError:

范围错误:使用的值超出了JS的规定范围,例如:参数给定不合格

Uncaught RangeError:

自定义错误:用户自己指定的错误

使用throw抛出自定义错误内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值