前端小知识点汇总

207 阅读1分钟

为什么0.1 + 0.2 ≠ 0.3?

计算机存储数据是用二进制→二进制无法和十进制一一对应(0.1对应的二进制是无限不循环数)→存储不精确→相加之后的数转换后不是精确的0.3

为什么不能将font-size设置为12px以下

chrome认为12px以下对用户不友好→默认12px以下自动转变为12px

手机端无此限制→手机分辨率密集

为什么不推荐w3schools

w3schools≠W3C w3school知识老旧有错误,应该使用MDN来学习

为什么class id 不能用ad开头

用ad开头会被插件屏蔽掉(ad是广告的英文缩写),或者某些自带插件的浏览器比如uc。如果要写广告可以用art代替哈哈哈哈

不推荐使用 == 和 !=

因为==和!=的规则太多,难以记忆容易出现bug,而===和!==只需要记忆NAN !== NAN即可

obj.x()和obj['x']()是相同的

var methodName = 'add'
item.className.add() === item.className[method]