JS50-75

文章详细介绍了JavaScript中数组的concat、join、slice、indexOf等方法,以及字符串的charAt、toUpperCase、toLowerCase、split、replace等操作。还涵盖了数字处理如toFixed、Math对象的方法,事件对象的时间戳获取,定时器的使用,以及BOM中的浏览器尺寸、弹出层、地址栏操作和历史记录管理。此外,提到了浏览器本地存储在记住用户名场景的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组常用方法2

不影响原数组的方法:
1.contact拼接

arr1.contact(arr2)

var arr4=arr1.concat(//复制方式,
arr4.pop() //用于测试是否会改变arr1空间 参考用  复制时可省略
console.log(arr1,arr4)

2.join转换为字符串

//join数组=>字符串
[1,2,3,4,5]
var arr
document.write(arr.join("I"))


var arr=[]
for(var i=0;i<5;i++){
arr.push("<li>"+i+"</li>")
3
document.write(arr.join(""))

3.slice截取
在这里插入图片描述
可用于截取出关键数组

var arr = ["aaa","bbbb","ccc","ddd","eeee"]
var arr2 = arr.slice(0,2)
console.log(arr,arr2)
包前不包后

同理,不传参的情况下可以实现数组的复制

var arr2 = arr.slice()

slice可以包负数

indexof

//indexof -1 找不到
var arr = ["aaa","bbb","ccc","ddd","eee"]
var res = arr.indexOf("ccc")
console.log(res)

如果发现重名的只会发现第一个
可以使用lastindexof找出最后一个

数组去重

//1-方法
var arr = [1,2,3,4,3,5,6,2,1]
var arr2=[]
for(var i=0;i<arr.length;i++){
if( arr2.indexof(arr[i])=== -1)[
arr2.push(arr[i])
}
console.log(arr,arr2)

使用arr2作为载体,判断arr2中是否有重复的
方法2:利用对象
思路:将数组中每一项当做对象中的key值 因为obj的key值只能有一个

var obj={}
for(var i=0;ikarr.length;i++){
obj[arr[i]]"随便"
}
console.log(obj)
var arr2 =[]
for(var i in obj){
arr2.push(i-0//将字符串转为数字)
console.log(arr2)

方法3:new Set

var set1= new Set(arr)

数组常用方法3

1.foreach遍历

var arr =["aaa","bbb","ccc","ddd"]
//回调函数
arr.forEach(function(item,index){
console.log(item,index)}

map映射

var arr2 = arr.map(function(item){
return item/item*item*item等
})
console.log(arr2)

filter过滤

var arr = [100,200,300]
var arr2 = arr.filter(function(item){
return 条件如item>200
})
console.log()

every每一个

例子:判断是否每一个都满足条件
返回值:对错

var arr = [80,90,92,94]
var arr2= arr.every(function(item)
return item>=90
})
console.log(arr2)

some只要满足一个

var arr = [80,90,92,94]
var arr2= arr.some(function(item)
return item>=90
})
console.log(arr2)

find

var arr{
name:"语文",
grade:90
},
name:"数学",
grade:95
}{
name:"体育"grade:100
}

var arr2= arr.find(function(item){
return item.grade===100
}

reduce叠加

var arr =[1,2,3,4,5]
arr.reduce(function(prev,item){
return prev+item
工
},0)  //prev为上一次的结果,第一次为0

字符串的基本操作

在这里插入图片描述

//length 只读
str1.length = 0
console.log(str1)
//索引/下标只读
console.log(str1[1])

字符串常用方法

chartAT索引

//chartAt(索引)返回索引对应的字符
"kerwin"
var str
str.charÁt(0)
var str1
console.log(str,str1)

结果为k

charCodeAt

在这里插入图片描述
在这里插入图片描述转换大小写

console.log(str.toUpperCase())
console.log(str.toLowerCase())

将二进制数字转回字母


var arr = []
for(var i=65;i<91;i++){
// console.log(String.fromCharCode(i))
arr.push(String.fromCharCode(i))
console.log(arr)

截取

//截取substr(开始索引,长度)substring(开始索引 结束索引) slice(开始索引 结束索引)
"kerwin"
var str
var str1 = str.substr(0,2)  从第0个位置截2个
console.log(str1)

替换replace

//replace替换-正则表达式
 var str ="abdwadwa"
 var str1 = str.replace("a","*")
 console.log(str1)

split 分割 join

var str ="a,b,c,d"
console.log(str.split(","))

contact

//concat 连接字符串+
"abcd"
var str
 var str1 = str.concat("ef")
 或者
var str1 =str + "ef"
console.log(str1)

trim

//trim去掉首尾空格
//trimStart()trimLeft()去掉首空格
//trimEnd()trimRight()去掉尾空格

模糊查询

//数组的filter 字符的indexof
arr.filter(function(item){
var res
return item.indexof("b")|-1
})
console.log(res)

json格式字符串

//json字符串==》对象
'{"name":"kerwin","age":100}'
var str
console.log(str)
var obj=JSON.parse(str)
console.log(obj)

模板字符串

var myhtml
<li>11111</li>
<li>2222</li>
<li>3333</li>>
"kerwin"
var myname
var str = my name is ${myname}
document.write(str)

数字常用方法

1.Number toFixed()

// var price = 123.45678
var price = 123.4
console.log(price.toFixed(2)

小数点
2. Math对象

//Math对象
//random//0-1-随机整数
console.log(Math.random())
小于多少就乘以多少
//round四舍五入取整
console.log(Math.round(4.46))
// ceil向上 floor向下
console.log(Math.floor(4.96))
//abs绝对值
console.log(Math.abs(-10.2))
//sqrt平方根9
console.log(Math.sqrt(8))
//pow(底数,指数)
console.log(Math.pow(3,3))
//max(多个参数)
console.log(Math.max(10,50,20,34))
//min(多个参数)
console.log(Math.min(10,50,20,34))
//PI
console.log(Math.PI)

案例随机整数笔记

//0-10 不包含10
var res = Math.floor(Math.random()*10)
// 0-10 包含10
var res = Math.floor(Math.random()*(10+1))
console.log(rès)
// 10-20不包含20
var res = Math.floor(Math.random()*10)+10
console.log(res)
// 10-20 包含20
var res = Math.floor(Math.random()*(10+1))+10

运用函数的总结:

function getRnd(minj,max){
return Math.floor(Math.random()*(max-min))+min

事件对象

在这里插入图片描述

new Date()
var date
console.log(date)//自动转为字符串
//new Date传参
//1个传参毫秒数
var datel= new Date(10000)
console.log(date1)
// 1970 1 1 0:0:1
//2个参数3个参
var date2 = new Date(2023,0)|
console.log(date2)
// var date3= new Date("2023-10-10 10:10:10")
var date3= new Date("2023/10/10 10:10:10")
console.log(date3)

时间对象常用方法

var date = new Date()
//getFullYear()
console.log(daite.getFullYear())
//getMonth() 0-11===>1-12
console.log(date.getMonth())
//getDate()
console.log(date.getDate())

//getDay()周日a周一-周六1-6
console.log(date.getDay())
//getHours
console.log(date.getHours())
console.log(date.getMinutes())
console.log(date.getSeconds())
console.log(date.getMilliseconds())
//getTime()时间戳
console.log(date.getTime())


设置:

//设置
console.log(date)
date.setFullYear(2025)
console.log(date)
date.setMonth(5)
console.log(date)

不可以setday因为会根据前面自动推算

定时器

在这里插入图片描述

//倒计时 注册定时器
//window.alert()
setTimeout(function(){
console.log("kerwin")
},200g)
//注册间隔定时器
//setInterval
setInterval(function(){
},1000

如果将其定义返回值会是其的顺序(第n个定时器则返回n)

<button>id="btn1">清除定时器-延时</button>
<button>id="btn2">清除定时器-间隔</button>
console.log(btn1,btn2)//直接通过id,拿到按钮对象
btn1.onclick = function(){
console.log("btn1 click")
clearTimeout(time1)
}

BOM

在这里插入图片描述

浏览器尺寸

在这里插入图片描述

浏览器弹出层

  1. alert
  2. 询问框
btn.onclick=function(){
var res=confirm("你确定删除吗?")
console.log(res)

浏览器的地址栏

在这里插入图片描述

<button id="btn">下一个页面</button>
<button id="btn2">刷新</button>
<script>
console.log(location.href)//地址
btn.onclick =function(){
location.href = "http://www.baidu.com"
//reload
btn2.onclick = function(){
location.reload()
}

浏览器的常见事件

在这里插入图片描述

window.onload = function(){
//页面所有得资源都加载完后执行(图片,视频,dom)
console.log("加载完成")
}
// resize 窗口页面改变
window.onresize = function()E
console.log("resize")
//scroll滚动条
window.onscroll=function()(
console.log("scrol1”,“滚动距离达到指定距离了?

浏览器滚动距离

// document.documentElement.scrollTop
window.onscroll = function(){
console.log(document.documentElement.scrollTop)
![在这里插入图片描述](https://img-blog.csdnimg.cn/13b8b8e46f64498fb838ed5cf6b520a3.png#pic_center)

在这里插入图片描述

window.onscroll = function(){

console.log(document.documentElement.scrollTop||document.body.scrollTop)
万无一失保证低版本浏览器也支持

scrollTo:可以用于回到顶部比如:

btn.onclick = function()[
window.scrollTo(0,0)
//1.两个数字

浏览器打开标签页

btn.onclick =function(){
window.open("http://www.baidu.com")
}

window.close

浏览器的历史记录

在这里插入图片描述

<button id="btn">history.back()</button>
<script>
btn.onclick =function(){
history.back()
}
btn.onclick =function(){
// location.href="02.html"
// history.forward()
history.go(1) } go用于回退

浏览器本地存储

在这里插入图片描述
全部清除:

btn4.onclick =function(){
// console.log(){
localStorage.clear
()}
//存,只能存字符串,不能存对象,
localStorage.setItem("obj",JSON.stringify({name:"kerwin",
age:100y))

永久存储 localStorage
会话存储 sessionstorage 关闭页面就丢失

记住用户名

</div>
<div>
密码:
<input type="password"id="password">
</div>
<div>
<button id="login">登录</button>
</div>
<script>
//先获取用户名密码信息进行存储
var uservalue = localStorage.getItem("username")
var passvalue = localStorage.getItem("password")
if(uservalue && passvalue ) 
username.value = uservalue
password.value=passvalue
login.onclick=function(){
console.log(username.value,password.value)
localStorage.setItem("username",username.value)
localStorage.setItem("password",password.value)
}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值