关于这句三元操作符的判断

来源:2-8 高效创建节点的方法 (innerText-outerText)

离离钟

2018-11-07 14:55:28

typeof (elem.textContent == 'string') ? elem.textContent : elem.innerText

这句怎么分析啊?

我自己分析下,括号内的先看,内容和'string'比较?双等号比较值,值除非是'string',否则肯定是false吧。然后typeof false?返回boolean,然后判断boolean是true还是false?我已经懵逼了。

而且而且。。。。我的火狐,谷歌都可以通过innerText和textContent设置啊。四种情况都可以。

写回答

1回答

好帮手慕星星

2018-11-07

判断浏览器是否支持textContent属性,如果支持就使用textContent来设置内容,如果不支持就使用innerText属性来设置内容。这段代码我们会审核处理一下,同学可以按照这样的方式来解读:

(typeof elem.textContent == 'string') ? elem.textContent : elem.innerText

视频中使用textContent是为了解决火狐浏览器不支持innerText属性的问题,但是目前因为谷歌浏览器版本升级,现在也支持innerText属性了,所以都可以测试。

祝学习愉快!

0

0 学习 · 4826 问题

查看课程