提问人:redskysun 提问时间:4/28/2022 最后编辑:M. Justinredskysun 更新时间:11/18/2023 访问量:37
为什么我不能放置一个相等 = 而不是两个 == [重复]
why i cannot place one equal = instead of two == [duplicate]
问:
当我在两个元素之间放置一个“=”而不是两个或三个相等的字符时,程序出错并且无法正常工作 我想知道为什么我不能使两个不同类型的元素彼此相等一个等号(=),但我可以用三个或两个,但它们不是同一类型 看看我的代码:
const progress=document.getElementById('progress')
const prev=document.getElementById('prev')
const next=document.getElementById('next')
const circles=document.querySelectorAll('.circle')
let currentActive=1
next.addEventListener('click',()=>{
currentActive++
if(currentActive>circles.length){
currentActive=circles.length
}
update()
})
prev.addEventListener('click',()=>{
currentActive--
if(currentActive<1){
currentActive=1
}
update ()
})
function update(){
circles.forEach((circle,idx)=> {
if(idx<currentActive){
circle.classList.add('active')
}else{
circle.classList.remove('active')
}
})
const actives=document.querySelectorAll('.active')
progress.style.width=(actives.length - 1) / (circles.length - 1) * 100 + '%'
if(currentActive=== 1){
prev.disabled=true
}else if(currentActive === circles.length){
next.disabled=true
}else{
prev.disabled=false
next.disabled=false
}
}
current active 是一个包含数字的变量,circles.length 是一个包含数字的元素。 虽然它们不是同一类型,但当我放三个等号时,程序运行正确,但当我放一个等号时,它就不行了。 它应该是相反的,因为它们不能是同一类型。
答:
0赞
pankaj girotra
4/28/2022
#1
= 是一个赋值运算符,它将右手值分配给左手变量,另一侧 == 或 === 是比较运算符,用于检查 LHS 是否等于 RHS。因此,如果要比较这些值,请使用 == 或 ===。
注意: == -> 它只是检查值。 === -> 检查对象类型和值
评论
0赞
redskysun
4/28/2022
所以你是说当我们使用 === 或 == 时,它只比较它们而不分配任何东西?
上一个:为什么我不能放置一个相等 = 而不是两个 == [重复]
下一个:数字。额外挑战
评论
=
==
=
==
===
=