关于视频中的一句代码
var isSetAnimateClass = false; if(isSetAnimateClass === false){ for (var i = 0;i < animateElements.length;i++){ var element = document.querySelector(animateElements[i]); //console.log(element) var baseCls = element.getAttribute('class'); //console.log(baseCls) element.setAttribute('class',baseCls +' '+animateElements[i].substr(1)+'_animate_init'); //setAttribute这里的tt写成tr了,要注意,写错好几次了 isSetAnimateClass = true; return ; } }
var isSetAnimateClass = false; // 是否设置动画初始化样式
if(isSetAnimateClass === false)
这两句浏览器是如何判断它的布尔值的? 不明白,最好能结合例子解释详细点,谢谢。
正在回答
同学你好,
1、这三个if判断中并没有return返回内容,return后面是空的:
也就是无返回值,也可以起到结束代码的作用。setAttribute方法也没有返回值,所以不知道同学说的返回值指的是哪里。这行代码:
element.setAttribute('class',baseCls +' '+animateElements[i].substr(1)+'_animate_init');
只是将原来的类名加上修改之后的类名重新设置给元素。
2、for循环没有返回值的哦。遍历animateElements数组,可以在数组中每一个元素上设置类,不只是最后一项。
自己可以测试理解下,祝学习愉快!
同学你好,首选, 我们要了解, js语法规定, 通过运算符(===)判断左右符号左右两边的值是否相等, 如果相等返回true, 不行等返回false。
然后,我们来分析同学粘贴的这两句代码
var isSetAnimateClass = false; 这句代码是将isSetAnimateClass的值设置为布尔值false
if语句中的isSetAnimateClass === false 这句代码是通过等于运算符(===)判断isSetAnimateClass 是否等于false,
(1)如果isSetAnimateClass 的值false, 两边的值相等, 那么最终返回的结果就是true, 执行if后面花括号中的代码
(2)如果isSetAnimateClass 的值true, 两边的值不相等, 那么最终返回的结果就是false, 跳过if后面花括号的代码。
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星