开发者社区> 问答> 正文

这段javascript代码为什么控制台不报'Cannot read prope?400报错

if(document.getElementById("secmenu") && document.getElementById("secmenu").style.display == 'block'){
		document.getElementById("secmenu").style.display = "none";
	}

照理说secmenu元素不存在啊,后面的条件

document.getElementById("secmenu").style.display

 理论上应该报错才是啊,大家可以执行看看!

什么原因啊,为什么不报错?

展开
收起
爱吃鱼的程序员 2020-06-08 13:08:13 465 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    被短路了,前一个条件不成立,就不会执行&&

    不要总觉得你的是对的,编程方法千千万万

    &&改成&成就报错了

    前一个条件不成立 后面的就不验证了

    2020-06-08 13:08:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载