前言:
我对与“IDEA十分强大”的理解只停留在“有丰富的插件”、“有强大的自动生成”、“有智能的代码生成”,而一直忽略了IDEA对编码风格的约束,这也导致了我自从将开发工具换成IDEA至今,写的代码的右边栏还有无数个黄色警告小方块,这无疑是积累已久的开发陋习,于是试图将这些警告逐一排查,顺便对自己的知识体系查缺补漏。
1.HTML标签缺少lang属性
这个属性其实并不常用,用于标识本页面使用的的语言,浏览器也可通过该属性判断当前页面是否需要弹出翻译提示,可以给出的属性值有
英文:en
但中文写法就较为复杂了:
zh-SG 中文 (简体, 新加坡) 对应 cmn-Hans-SG 普通话 (简体, 新加坡)
zh-HK 中文 (繁体, 香港) 对应 yue-Hant-HK 粤语 (繁体, 香港)
zh-MO 中文 (繁体, 澳门) 对应 yue-Hant-MO 粤语 (繁体, 澳门)
zh-TW 中文 (繁体, 台湾) 对应 cmn-Hant-TW 普通话 (繁体, 台湾)
以上两种写法均正确,后者描述更精准,但大部分程序和操作系统都只能识别前者,使用新标准可能会造成无法匹配浏览器用户定义字体、网页翻译、程序语言自动切换等功能,为了兼容性的考量,推荐使用前者:
该部分内容参考知乎-子野,原文链接:https://www.zhihu.com/question/20797118/answer/63480740
2.head标签中引入div标签
这里只是单纯的引用了服用模块的fragment,但不应该用div承载改为<meta>就可
3.js中做if判断时采用 ==
两者的区别
双等号==:
(1)如果两个值类型相同,再进行三个等号(===)的比较
(2)如果两个值类型不同,也有可能相等,需根据以下规则进行类型转换在比较:
1)如果一个是null,一个是undefined,那么相等
2)如果一个是字符串,一个是数值,把字符串转换成数值之后再进行比较
三等号===:
(1)如果类型不同,就一定不相等
(2)如果两个都是数值,并且是同一个值,那么相等;如果其中至少一个是NaN,那么不相等。(判断一个值是否是NaN,只能使用isNaN( ) 来判断)
(3)如果两个都是字符串,每个位置的字符都一样,那么相等,否则不相等。
(4)如果两个值都是true,或是false,那么相等
(5)如果两个值都引用同一个对象或是函数,那么相等,否则不相等
(6)如果两个值都是null,或是undefined,那么相等