JavaScript基础补充
1.模板字符串
模板字符串,拼接变量和字符串,外面用反引号,用${}包裹变量
let num = prompt('输入数字:')
let string = prompt('输入字符')
alert(`666${num}${string}`)
document.write(`<h1>666${num}${string}</h1>`)
2.数组的增删改查
push unshift pop shift splice
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
arr.push(10) //添加在数组最后,返回数组长度
arr.unshift(0) //添加在数组前面,返回数组长度
arr.pop() //删除最后一个元素,返回该元素值
arr.shift() //删除第一个元素,返回该元素值
arr.splice(0,2)//指定删除的位置和个数
for(let i = 0; i<arr.length;i++)
{
document.write(arr[i])
}
3.对象
//对象操作,增改一致直接写
let obj =
{
name:'大牛',
age:'18',
gender: '男',
jineng:function(){alert('666')}
}
//delete obj.name //删除
//访问属性
document.write(obj.name)
document.write(obj['name'])
for(let k in obj) //k为属性名,字符串类型
{
console.log(obj[k])
}
4.dom
4.1dom选择
常用 querySelector 或 querySelectorAll 用css选择器获取元素,也可用id和class获取
//document.querySelector('css选择器')//根据css选择器的规则选择第一个符合的元素返回该元素对象
const dvi1 = document.querySelector('.box')
console.log(dvi1)
const li = document.querySelector('ul li')
console.log(li)
//document.querySelectorAll('css选择器')//根据css选择器的规则选择所有符合的元素返回该元素对象
const liAll = document.querySelectorAll('ul li')
//循环获取得到的所有元素
for(let i=0; i<liAll.length; i++)
{
console.log(liAll[i])
}
4.2修改元素文本
li为dom获取的元素
//操作元素内容 innerText innerHTML
li.innerHTML = '<h1>666</h1>' //解析标签,可修改内容和标签
liAll[1].innerText = '666' //不解析标签,获取和修改文本内容
4.3修改其他属性,如利用随机数修改图片实现轮播图片
function getRandom(n,m) // 获取指定序列中的随机数字
{
return Math.floor(Math.random() * (m-n+1)) + n
}
const img = document.querySelector('img')
const random = getRandom(1,5)
console.log(random)
img.src = `./img/img${random}.jpg`//修改src属性改变图片
4.4修改样式
style className classList
//样式变化 style className classList
dvi1.style.color = 'red'
dvi1.style.backgroundColor = 'green'
dvi1.style.border = '1px solid black'
//通过指定类名修改为和该类别一致的样式,如果需要保留原有类下的属性,写两个类名
dvi1.className = 'box'
//classList add追加 remove移除 toggle 替换 类
dvi1.classList.add('box')
//获取自定义属性 data-开头 dataset获取
console.log(dvi1.dataset.id)