只能说是会用和记载,深入理解还需时间。

有关性能优化:

使用createdocumentfragment()方法可以创建某个具有节点该有的所有属性的节点。

使用情况:  提取文档中的某个小部分,修改文档中的小节点,添加部分内容在节点尾部或者某个标志处。

虽然可以用文档的文档对象来在这些情况中使用,但如果防止文件结构被破坏,createDocumentFragment() 方法可以更安全改变文档的结构及节点。

一般这样用:

let newLists=document.createDocumentFragment();
newLists.appendChild(li);
lists.appendChild(newLists);  

上面lists则为原来文档中有的,对newlists进行操作,例如再添加一个li文档节点,这样lists吸收newlists为子节点就可以进行节点的添加。

这样就创建了一个新的文档碎片,可以向指定位置添加。

块级作用域使用let,不过好像不太推荐。

ES6的新语法  =>  箭头使用:

可以优化js语句,例如

  1. // ES5
  2. var selected = allJobs.filter(function (job) {
  3. return job.isSelected();
  4. });
  5. // ES6
  6. var selected = allJobs.filter(job => job.isSelected());

也就是说省去了function()这一步骤。

不过好像用着失去函数定义,虽然为了简化js,但是写法更高端可读性变差了。   是否会影响this的使用以及相关函数表达式的声明初始化呢。

小语法重新记录(不漏过一寸)

filter() 方法

创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

filter() 不对空数组进行检测。

filter() 不改变原始数组。

用法:

aqiData.filter(city => city[1]>=60)   使用箭头与fliter
.sort方法
aqiData.sort((a,b)=>b[1]-a[1])   使用.sort排序  从大到小 

通过这样排序得到排好序的数组。

两者结合使用可以选择特定范围的数组,并且是排好序的~
forEach  (ie不能使用)

使用for循环用的烦时候可以考虑,foreach每个元素的循环:

用法:

JavaScript数组的 forEach()方法调用数组中的每个元素

aqiData.forEach(function(value, index, array) { });
可以循环返回 值 索引 数组  可以用这个  来搞事情。

总结就到这里,先去完善我的工程。 

js学习日记 (1)createDocumentFragment() ES6 => 箭头的更多相关文章

  1. js学习日记-隐式转换相关的坑及知识

    隐式转换比较是js中绕不过去的坎,就算有几年经验的工程师也很有可能对这块知识不够熟悉.就算你知道使用===比较从而避免踩坑,但是团队其它成员不一定知道有这样或那样的坑,有后端语言经验的人常常会形成一个 ...

  2. js学习日记-对象字面量

    一.对象字面量语法 var person={ name:'小王', age:18, _pri:233 } 成员名称的单引号不是必须的 最后一个成员结尾不要用逗号,不然在某些浏览器中会抛出错误 成员名相 ...

  3. js学习日记-变量的坑

    js变量细节是前端面试经常遇到的问题,可见其重要程度,要想掌握这个知识点,需注意以下几点: 变量提升 所谓变量提升,就是使用了var关键字申明的变量,会提升到所在作用域的顶部.es5的作用域分为全局作 ...

  4. js学习日记-new Object和Object.create到底干了啥

    function Car () { this.color = "red"; } Car.prototype.sayHi=function(){ console.log('你好') ...

  5. js学习日记-常用正则符号参考

    预定义类 量词 贪婪.惰性.支配性量词 前瞻 边界 RegExp是全局对象,RegExp.$1...$9是全局属性.当执行任意正则表达式匹配操作时,JavaScript会自动更新全局对象RegExp上 ...

  6. js学习日记-各种宽高总结(配图)

    1.窗口和浏览器 window.innerWidth.window.innerHeight   浏览器内部可用宽高 window.outerWidth.window.outerHeight   浏览器 ...

  7. ES6学习笔记<二>arrow functions 箭头函数、template string、destructuring

    接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...

  8. 前端分享----JS异步编程+ES6箭头函数

    前端分享----JS异步编程+ES6箭头函数 ##概述Javascript语言的执行环境是"单线程"(single thread).所谓"单线程",就是指一次只 ...

  9. 前端综合学习笔记---异步、ES6/7、Module、Promise同步 vs 异步

    同步 vs 异步 先看下面的 demo,根据程序阅读起来表达的意思,应该是先打印100,1秒钟之后打印200,最后打印300.但是实际运行根本不是那么回事 console.log(100) setTi ...

随机推荐

  1. 在任务计划程序用Bat命令执行exe程序

    @echo off :open choice /c:123 /m "1:创建,2:终止,3:删除" if errorlevel 3 goto delete if errorleve ...

  2. ExtJs4.0入门错误

    当在eclipse中的web工程中增加了extjs4,出现An internal error occurred during: "Building workspace". Java ...

  3. Asp.net MVC5中Html.DropDownList的使用

    一.静态下拉列表项的绑定 在下拉列表中绑定静态项,我们可以通过 SelectListItem 的集合作为数据源的下拉列表. @Html.DropDownList("dropRoles&quo ...

  4. 谈谈对web标准的理解

    Web标准不是某一个标准,而是由一系列标准组合而成.网页主要由三部分组成:结构.表现和行为.对应的标准也分三方面:结构化标准语言主要包括XHTML和HTML以及XML,表现标准语言主要包括CSS,行为 ...

  5. SecureCRT使用的技巧 键盘修改

    secureCRT 修改PageUP,PageDown,Home,End键小trick:http://blog.csdn.net/shark_sq/article/details/6722512 所有 ...

  6. Entity Framework 利用 Database.SqlQuery<T> 执行存储过程,并返回Output参数值

    做个记录: var pCount = this._dataProvider.GetParameter(); pCount.ParameterName = "totalCount"; ...

  7. zmodem协议的使用(SecureCRT)

    SecureCRT可以使用zmodem协议来快速的传送文件,使用非常方便.对于Linux系统,大多数发行版本都自带有rz和sz命令.在SecureCRT中选择Options->Session O ...

  8. js禁止中文输入 最简洁的【禁止输入中文】

    方法一:禁止中文输入法 <input type="text"  > 方法二:禁止黏贴,禁止拖拽,禁止中文输入法! 这种方法是最强的禁止 中文输入 <input t ...

  9. swift笔记06

    for in循环 for 被乘数 in 1...5{ println("\(被乘数) 乘以 5 等于 \( 被乘数 * 5)"); } let  女神们 = ["小林&q ...

  10. SQL Server 连接和事务相关的问题。

    方法 1. dbcc opentran + sys.dm_exec_connections dbcc opentran; dbcc opentran 针对当前数据库 dbcc opentran('St ...