JavaScript奇味探索

zhao-my 9年前
   <p>JavaScript中有很多奇妙的东西,归咎or归功于设计时候的迅速。缺陷有,但是JavaScript的强大确实体现的淋漓尽致。</p>    <p>它是如此的灵活,当然随之而来的便是开发的代价,它不像强类型语言那样规规矩矩。</p>    <p>一直用着JavaScript,可是有时候有的问题就是很难一时回答得上来,可能大概知道那么些思路,但是又很难回答得清楚,有时候是很需要自己去思考的。难得周末晚上清闲,回味这些看起来有点怪怪却又在发生着的问题。</p>    <p>如果学习需要: <a href="/misc/goto?guid=4959721065223110033" rel="nofollow,noindex">前端教程&开发模块化/规范化/工程化/优化&工具/调试&值得关注的博客/Git&面试-资源汇总</a></p>    <h3><strong>为什么 [1,2] + [3,4] 不等于 [1,2,3,4]?</strong></h3>    <ul>     <li> <p>原始问题: <a href="/misc/goto?guid=4959721065317477071" rel="nofollow,noindex">stackoverflow question and answer</a></p> </li>     <li> <p>中文翻译: <a href="/misc/goto?guid=4959721065408450917" rel="nofollow,noindex">高票回答-中文翻译</a></p> </li>     <li> <p>参考资料:详解加法运算符</p> </li>    </ul>    <h3><strong>为什么"0" == !"0" " " == !" " [] == ![] 为true?</strong></h3>    <ul>     <li> <p>原始问题: <a href="/misc/goto?guid=4959721065521957875" rel="nofollow,noindex">知乎提问</a></p> </li>     <li> <p>参考资料: <a href="/misc/goto?guid=4959721065625575482" rel="nofollow,noindex">英文材料ECMA-262</a> 90页左右的描述,非死book登录后可查看全部</p> </li>     <li> <p>学习参考: <a href="/misc/goto?guid=4959721065755021185" rel="nofollow,noindex">相等运算符和严格相等运算符</a></p> </li>    </ul>    <h3><strong>为什么 ++[[]][+[]]+[+[]] = 10?</strong></h3>    <ul>     <li> <p>原始问题: <a href="/misc/goto?guid=4959721065878445038" rel="nofollow,noindex">stackoverflow question and answer</a></p> </li>     <li> <p>中文翻译: <a href="/misc/goto?guid=4959721066004738567" rel="nofollow,noindex">高票回答-中文翻译</a></p> </li>    </ul>    <h3><strong>为什么 javascript 中 0.1 + 0.2 == 0.30000000000000004?</strong></h3>    <pre>  0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 ==0.9999999999999999  0.1 * 10 == 1</pre>    <ul>     <li> <p>参考资料: <a href="/misc/goto?guid=4959721066142299246" rel="nofollow,noindex">浮点数(从惊讶到思考)</a></p> </li>     <li> <p>参考资料: <a href="/misc/goto?guid=4959721066264579609" rel="nofollow,noindex">浮点数(谁偷了你的精度?)</a></p> </li>    </ul>    <h3><strong>为什么 ["1", "2", "3"].map(parseInt) 返回 [1, NaN, NaN]?</strong></h3>    <ul>     <li> <p>原始问题: <a href="/misc/goto?guid=4959721066389649840" rel="nofollow,noindex">JavaScript Puzzlers!</a></p> </li>     <li> <p>参考资料: <a href="/misc/goto?guid=4959721066519766207" rel="nofollow,noindex">解析parseInt() 函数</a></p> </li>     <li> <p>延伸阅读: <a href="/misc/goto?guid=4959721066623759923" rel="nofollow,noindex">你不可能全会的30题-题目</a></p> </li>     <li> <p>延伸阅读: <a href="/misc/goto?guid=4959721066754259188" rel="nofollow,noindex">你不可能全会的30题-解析</a></p> </li>    </ul>    <h3><strong>JavaScript中,{}+{}等于多少?</strong></h3>    <ul>     <li> <p>原始问题: <a href="/misc/goto?guid=4959721066875457711" rel="nofollow,noindex">object-plus-object</a></p> </li>     <li> <p>中文翻译:{}+{}等于多少</p> </li>    </ul>    <h3><strong>JavaScript中,undefined与null的区别?</strong></h3>    <ul>     <li> <p>参考资料: <a href="/misc/goto?guid=4958829968785805194" rel="nofollow,noindex">undefined与null的区别</a></p> </li>    </ul>    <h3><strong>为什么 parseInt(0.0000008) === 8?</strong></h3>    <ul>     <li> <p>参考资料: <a href="/misc/goto?guid=4959721067028070885" rel="nofollow,noindex">为什么 parseInt(0.0000008) === 8?中文</a></p> </li>    </ul>    <h3><strong>为什么在函数里声明var a = b = 5;在函数外却能访问到b?</strong></h3>    <ul>     <li> <p>参考资料: <a href="/misc/goto?guid=4959721067141320021" rel="nofollow,noindex">写了 10 年 Javascript 未必全了解的连续赋值运算</a></p> </li>    </ul>    <h3><strong>call和apply的第一个参数是null/undefined是什么意思?</strong></h3>    <ul>     <li> <p>参考资料: <a href="/misc/goto?guid=4959721067262474176" rel="nofollow,noindex">call和apply的第一个参数为null/undefined时</a></p> </li>    </ul>    <p>随时遇到问题再补充,有好奇心才会有进步!</p>    <p> </p>    <p>来自:https://segmentfault.com/a/1190000007184963</p>    <p> </p>