字符串的基本操作和常用方法
对字符串.length会在瞬间变成数组,然后又变回字符串
(length在此为只读属性,不能更改)
字符串【索引值】,用来显示字符串中我需要的那个字符
(只读属性,不能更改)
对字符串进行遍历
索引
chartAt(索引值),返回索引对应的字符
若索引值大于字符串最大索引值,会输出空字符串
charCodeAt(索引值),返回索引对应字符的字符编码(ASCLL码)
fromcharcode指的是把字符编码返回为字符
转换字符大小写(只转换英文)
字符串名.toUpperCase()
把字符串所有改成大写
字符串名.toLowerCase()
把字符串所有改成小写
实现首字母大写(运用到截取):
截取
法一:
字符串名.substr(开始索引值,截取长度)
法二:
字符串名.substring(开始索引值,结束索引值)
包前不包后
如果是只写一个索引值,指的是从该索引值开始一直到最后
法三:
slice和substring用法一样
替换
字符串名.replace(要替换的字符,替换成的字符)
只替换从开始遇到的第一个
字符串转换成数组
split 分割
字符串名.split(以某字符分割)
返回查找字符串中字符索引值
从前面开始查:
字符串.indexof(查询内容,从某索引值开始查找)
如果查不到显示-1,查到会显示索引值,但如果两个数据重复,只会显示第一个查到的数据的索引值
从后面开始查:
字符串.lastIndexof(查询内容,从某索引值开始查找)
如果查不到显示-1,查到会显示索引值,但如果两个数据重复,只会显示第一个查到的数据的索引值
连接字符串
字符串.concat(要加的字符串)
也可以用+号拼接
去掉首尾空格
字符串.trim()去掉收尾空格
trimStart()、 trimLeft()去掉首空格
trimEnd()、trimRight()去掉尾空格
json格式字符串(解析成对象)
JSON.parse
格式非常严格,只能是‘ { “ key ”:value,“ key ”:value,…} ’的字符串形式
对象解析成字符串传递给后端:
JSON.stringify(对象名)
模板字符串
如果字符串想换行,把外面的引号改成反引号(英文输入法下tab上面的键)
当字符串外面加反引号时,可以在字符串里面加上${ 变量名 }
进行外部数据赋给该字符串字符
若图中bbb、aaa未加引号会报错,因为会当成变量,但没有定义变量aaa、bbb
数字常用方法
数字变量名.toFixed(保留几位小数)
返回类型为字符串
会自动进行四舍五入
设置保留位数大于实际位数,会自动补0
Math对象
随机数(random)
Math.random()返回0-1的随机数
包0不到1
四舍五入取整(round)
Math.random(数字)
向上向下取整(ceil、floor)
Math.ceil(数字)向上取整
Math.floor(数字)向下取整
绝对值(abs)
Math.abs(数字)
平方根(sqrt)
Math.sqrt(数字)
指数运算(pow)
Math.pow(底数,指数)
取最大值max
Math.max(数字,数字,数字,…)
取最小值min
Math.min(数字,数字,数字,…)
圆周率(PI)
Math.PI
时间对象
var 变量名 = new Date()
自动转为字符串
1个参熟 毫秒数
2个参数 年、月(月的参数从0开始,0为1月)
3个参数 年、月、日
4,5,6个参数 年、月、日、时、分、秒
字符串
var 变量名 = new Date(“2023-10-10 10:10:10”)
-可以改成/
时间对象常用方式
获取年份:
时间对象名.getFullYear()
获取月份:
时间对象名.getMonth()
参数从0开始,0为1月
获取日数:
时间对象名.getDate()
获取周数:
时间对象名.getDay()
周日0,周一到周六 1-6
获取当前时、分、秒、毫秒:
时间对象名.getHours()
时间对象名.getMinutes()
时间对象名.getSeconds()
时间对象名.getMilliseconds()
获取时间戳(距离1970年1月1号0点的毫秒数):
时间对象名.getTime()
设置年、月、日、小时、分钟、秒:
时间对象名.setFullYear()
时间对象名.setMonth()
时间对象名.setDate()
时间对象名.setHours()
时间对象名.setMinutes()
时间对象名.setSeconds()
时间戳变回对应日期:
时间对象名.setTime()
计时器
倒计时
注册定时器:
var 变量名= setTimeout(function(){ },ms)
ms指过多少ms进行设置好的函数
返回值就为第几个定时器
清除定时器:
clearTimeout(变量名)
注册间隔定时器:
setInterval(function(){ },ms)
ms指每隔多少ms进行函数
返回值就为第几个定时器
清除间隔定时器:
cleartInterval(变量名)
异步执行
因为有的函数等会延时触发,造成异步执行
先执行同步代码(注册定时器回调函数),再执行异步代码,延迟0s触发
BOM
浏览器对象模型,操作浏览器的一些能力(“ window. ”可以省略)
获取浏览器窗口尺寸
页面内容能显示的大小(包含滚动条)
window.innerHeight
window.innerWidth
浏览器的弹出层
必须点掉弹出层才能进行后续代码
1.提示框:
window.alert(提示内容)
2.询问框:
confirm(询问内容)
点确定返回true 取消返回false
3.输入框:
prompt(输入内容)
取消返回null,不输入点确定返回空字符串
浏览器的地址信息
location
存储浏览器地址栏内的信息的
location.href
拿到浏览器地址信息
location.href = “地址”
让浏览器访问网址,到下一页面(当前网页覆盖掉打开新网页)
reload()
刷新网页
浏览器常见事件
页面所有资源加载完毕后执行(图片、DOM、视频)
widow.onload = function(){ }
页面大小改变后执行一次
onresize = function(){ }
计算窗口条滚动条滚动距离
onscroll = function(){ }
从顶部开始滚动条的距离
widow.document.documentElement.scrollTop
最多只能计算到底部时移上去的距离
有时候浏览器版本过低不支持该代码需要写成
widow.document.documentElement.scrollTop | | document.body.scrollTop
从左边开始滚动条的距离
document.documentElement.scrollLeft
滚动到指定位置
scrollTo()
写法一:
两个数字,x轴,y轴数据
写法二:
在里面传一个对象
scrollTo({
left:
top:
})
浏览器打开标签页
window.open(“网页地址”)
会新建一个网页打开,而不是在当前网页覆盖掉打开
window.close()
关掉自己网页
浏览器的历史记录
返回上一个访问页面:
history.back()
必须历史记录里有上一个访问页面
前进下一个访问页面:
history.forward()
必须历史记录里有下一个访问页面
history.go(正负整数n),正数就是前进n个页面,负数就是返回n个页面
必须历史记录
浏览器本地存储
存:
localStorage.setItem(“key”,“value”)
只能存字符串
取:
localStorage.getItem(“key”)
删:
localStorage.removeItem(“key”)
清:
localStorage.clear()
sessionStorage.setItem(“key”,“value”)
sessionStorage.getItem(“key”)
sessionStorage.removeItem(“key”)
sessionStorage.clear()
区别:localStorage永久存储,sessionStorage临时存储,关掉浏览器消失