开发者社区> 异步社区> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《众妙之门——JavaScript与jQuery技术精粹》——1.3 JavaScript自带函数(数学、数组以及字符串函数)

简介:
+关注继续查看

本节书摘来自异步社区《众妙之门——JavaScript与jQuery技术精粹》一书中的第1章,第1.3节,作者: 【德】Smashing Magazine译者: 吴达茄 芮鹏飞 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 JavaScript自带函数(数学、数组以及字符串函数)

通读了JavaScript的数学、数组和字符串函数后,我意识到它们会让编程变得非常方便,使用它们可避免使用许多循环和条件。例如,当需要找到一组数中的最大数时,需要写这样一个循环:
screenshot

可以不通过循环而这样实现:
screenshot

需要注意的是,不能对一个数值数组使用sort()函数,因为它会按照词法排序。

另一个有趣的方法是利用Math.max()函数,返回一列参数中的最大值:

Math.max(12,123,3,2,433,4); // returns 433

因为这个函数可以测试数据并返回最大值,因此可以用它来测试浏览器支持的默认属性:

screenshot

这解决了一个IE问题。我们可以读出当前文件的特性,但是对于该文件不同的文档类型,两个属性中其中之一将被赋予该值。而使用Math.max()则可以获得正确的值,因为只有一个属性有返回值,另一个将是未定义。

其余操作字符串的常用函数是split()和join()。最经典的例子可能就是利用一个函数将CSS的类添加到元素中。

现在的问题是,当需要在DOM元素中添加一个类时,要么是将它作为第一个类添加,要么是将它和一个空格键一起加在已经存在的类前面。当删除该类时,也需要删除相应的空格(这在过去更为重要,因为有些浏览器会因为多余的空格报错)。

因此,原始方程应该写成这样:

screenshot

可以运用split()和join()函数来自动实现:

screenshot

这样操作可以保证类与空格自动分离且结果被附加在最后。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Javascript中创建对象的几种方法
<script type="text/javascript">// 方法一var p0 = new Object();p0.name = "xy";p0.age = 20;p0.sayName = function() { alert(this.name); }p0.showAgeAfterSomeYears = function(year) { return this.age
932 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载