- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(JavaScript最新实战技巧
JavaScript最新实战技巧
摘要:JavaScript是一门非常流行的编程语言,许多开发者都会把JavaScript选为入门语言,本文向大家分享JavaScript开发的小技巧、最佳实践等非常实用的内容。
在前段时间,CSDN研发频道发表了超实用的JavaScript技巧及最佳实践(上),很多开发者都觉得里面所提到的技巧非常实用,基于此,我们再向大家推荐超实用的JavaScript技巧及最佳实践(下),希望对大家有所帮助。
文中所提供的代码片段都已经过最新版的Chrome 30测试,该浏览器使用V8 JavaScript引擎(V8 5)。
1.使用逻辑符号或者||进行条件判断
[js]?view plaincopy
var?foo?=?10;????
foo?==?10??doSomething();?//?is?the?same?thing?as?if?(foo?==?10)?doSomething();???
foo?==?5?||?doSomething();?//?is?the?same?thing?as?if?(foo?!=?5)?doSomething();??
AND也可以用来设置函数参数的默认值
[js]?view plaincopy
Function?doSomething(arg1){???
????Arg1?=?arg1?||?10;?//?arg1?will?have?10?as?a?default?value?if?it’s?not?already?set??
}??
2.使用map()方法来遍历数组
[js]?view plaincopy
var?squares?=?[1,2,3,4].map(function?(val)?{????
????return?val?*?val;????
});???
//?squares?will?be?equal?to?[1,?4,?9,?16]???
3.舍入小数位数
[js]?view plaincopy
var?num?=2.443242342;??
num?=?num.toFixed(4);??//?num?will?be?equal?to?2.4432??
4.浮点数问题
[js]?view plaincopy
0.1?+?0.2?===?0.3?//?is?false???
9007199254740992?+?1?//?is?equal?to?9007199254740992????
9007199254740992?+?2?//?is?equal?to?9007199254740994??
0.1+0.2等于0.30000000000000004,为什么会发生这种情况?根据IEEE754标准,你需要知道的是所有JavaScript数字在64位二进制内的都表示浮点数。开发者可以使用toFixed()和toPrecision()方法来解决这个问题。
5.使用for-in loop检查遍历对象属性
下面这段代码主要是为了避免遍历对象属性。
[js]?view plaincopy
for?(var?name?in?object)?{????
????if?(object.hasOwnProperty(name))?{???
????????//?do?something?with?name??????????????????????
????}????
}??
6.逗号操作符
[js]?view plaincopy
var?a?=?0;???
var?b?=?(?a++,?99?);???
console.log(a);??//?a?will?be?equal?to?1???
console.log(b);??//?b?is?equal?to?99??
7.计算或查询缓存变量
在使用jQuery选择器的情况下,开发者可以缓存DOM元素
[js]?view plaincopy
var?navright?=?document.querySelector(#right);???
var?navleft?=?document.querySelector(#left);???
var?navup?=?document.querySelector(#up);???
var?navdown?=?document.querySelector(#down);??
8.在将参数传递到isFinite()之前进行验证
[js]?view plaincopy
isFinite(0/0)?;?//?false???
isFinite(foo);?//?false???
isFinite(10);?//?true???
isFinite(10);???//?true???
您可能关注的文档
- (未来教育出版社义务教育课程标准实验教科书品德与社会三年级上册教学工作计划2013至2014上.doc
- (15年工作体验之总结关于学习万科、绿城.doc
- (气压带风带试题练习.doc
- (15年泰州.doc
- (氟乙酰胺检验方法化学法.doc
- (iTunes使用教程精华大全3.doc
- (15春国际金融作业14.doc
- (15春学期市场营销在线作业.docx
- (15春学期钢结构二在线作业2.doc
- (气压带和风带专题练习.doc
- 2.2.2动物的结构层次.ppt
- 2025年人教版一年级上册数学第四单元综合检测试卷及答案 (2).pptx
- 2025年人教版九年级上册数学第二十一章一元二次方程【方法技巧专题】配方法的应用.pptx
- 2025年人教版九年级上册数学每周测试训练7(25.1~25.2).pptx
- 2025年人教版一年级上册数学期末综合检测试卷及答案 (1).pptx
- 2025年人教版九年级上册数学第二十四章圆【方法技巧专题】求圆中阴影部分的面积.pptx
- 2025年人教版九年级上册数学第二十四章圆【方法技巧专题】圆中常见辅助线的作法.pptx
- 2025年人教版九年级上册数学第二十四章综合检测试卷及答案.pptx
- 2025年人教版一年级上册数学期末——数与运算.pptx
- 2025年人教版九年级上册数学第二十三章旋转【教材变式专题】中考旋转作图专练——教材P62习题23.1第4题的变式训练.pptx
文档评论(0)