2022年JavaScript开发者经常忽略或误用的7个知识点.pdf
《2022年JavaScript开发者经常忽略或误用的7个知识点.pdf》由会员分享,可在线阅读,更多相关《2022年JavaScript开发者经常忽略或误用的7个知识点.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JavaScript开发者经常忽略或误用的7 个知识点JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它。昨天我们将这些模式应用到了JavaScript 框架中, 今天这些框架又驱动了我们的Web 应用程序。很多新手开发者被各种强大的JavaScript 框架吸引进来,但他们却忽略了框架身后浩如星海的JavaScript 实用技巧。本文将为你呈献其中7 个基础知识点。1. 在 String.prototype.replace 方法中使用/g 和 /i 标志位令很多JavaScript 初学者意外的是,字符串的replace 方法并不会替换所有匹配的子串 而
2、仅仅替换第一次匹配。当然JavaScript 老手们都知道这里可以使用正则表达式,并且需要加上一个全局标志位(/g) :Javascript代码1./ Mistake2./ 踩到坑了3.var str = David is an Arsenal fan, which means David is great; 4.str.replace(David, Darren); / Darren is an Arsenal fan, which means David is great5.6./ Desired7./ 符合预期8.str.replace(/David/g, Darren); / Darr
3、en is an Arsenal fan, which means Darren is great另一个基本的逻辑错误就是在大小写不敏感的校验场合(字母可大写可小写)没有忽略大小写,此时/i 标志位就很实用:Javascript代码1.str.replace(/david/gi, Darren); / Darren will always be an Arsenal fan, which means Darren will always be great(译注:上面这段例程我没有看懂用意,可能是注释有误吧 )每个JavaScript 开发者都曾踩过这两个标志位的坑 因此别忘了在适当的时候用上它
4、们!2. 类数组对象和Array.prototype.slice 方法数组的slice 方法通常用来从一个数组中抽取片断。但很多开发者不了解的是,这个方法还可以用来将 “ 类数组 ” 元素(比如arguments 参数列表、节点列表和属性列表)转换成真正的 数 组 :( 译 注 : DOM 元 素 的 属 性 列 表 通 过attributes属 性 获 取 , 比 如document.body.attributes。 )Javascript代码1.var nodesArr = Array.prototype.slice.call(document.querySelectorAll(div);
5、 2./ true array of DIVs3./ 得到一个由 div 元素组成的 “ 真正的 ” 数组精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 4 页 - - - - - - - - - - 4.5.var argsArr = Array.prototype.slice.call(arguments); 6./ changes arguments to true array7./ 把 arguments 转换成一个 “ 真正的 ” 数组8.你还可以使用一次简单的 slice 调用来克
6、隆一个数组:9.var clone = myArray.slice(0); / naive clone10./ 浅克隆(译注:这里的参数0 也可以省略,我估计undefined 被 slice 方法自动转换为0 了吧。 )Array.prototype.slice 绝对是JavaScript 世界中的一玫珍宝,但 JavaScript 初学者们显然还没有意识到它的全部潜力。3. Array.prototype.sort 方法数组的sort 方法 远远没有被充分利用,而且可能比开发者们想像的更加强大。很多开发者可能觉得sort 方法可以用来做这种事情:Javascript代码1.1, 3, 9,
7、 2.sort(); 2./ Returns: 1, 2, 3, 93./ 返回 1, 2, 3, 9 这没错,但它还有更强大的用法,比如这样:Javascript代码1. 2. name: Robin Van PurseStrings, age: 30 , 3. name: Theo Walcott, age: 24 , 4. name: Bacary Sagna, age: 28 5.sort(function(obj1, obj2) 6./ Ascending: first age less than the previous7./ 实现增序排列:前者的 age 小于后者8.return
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 JavaScript 开发者 经常 忽略 误用 知识点
限制150内