javascript
文章平均质量分 61
Marshall001
这个作者很懒,什么都没留下…
展开
-
理解 Generator (生成器)
理解 Generator (生成器)generator 和 iterator 的概念非常類似,同樣都是調 next() 獲取當前元素和當前狀態,同樣都是惰性求值,同樣可以用 for...of 遍歷。按我的理解,generator 就是一種 iterator,只不過 generator 是由函數轉換成的 itarator,這種轉換是 es6 內部提供的,而將一個函數轉爲 generator,...原创 2018-03-21 17:26:34 · 595 阅读 · 0 评论 -
我不是很懂 Promise
我不懂 Promise是的,我不是很懂 Promise。儘管看了阮一峯老師的 Promise 對象,也能寫出 axios.get(url).then(res => fn).catch(err => handle(err)) 這樣的代碼,但思考以下如下幾個問題,我發現我一無所知:then 返回的是什麼?仍是 Promise 嗎?是原來那個 Promise 嗎?下面兩種寫法是一...原创 2018-03-14 17:02:23 · 441 阅读 · 0 评论 -
理解 es6 的 Iterator
爲什麼要增加一個 Iterator 接口?對於 Set、Map、Array、String 等數據結構,我們希望有一種統一的方式可以遍歷其中的元素。 es6 給所有可以 遍歷 的數據結構賦予了一個統一的遍歷方法 for...of。於是可以這樣:const arr = ['hello', 'world']for (let itm of arr) { console.log(i...原创 2018-03-20 16:52:25 · 631 阅读 · 0 评论 -
前端題目整理
考試可以是功利的,比如考雅思是爲了出國留學,考廚師證可以當廚師,考教師證可以做老師。我們前18年的人生中似乎都在考試,爲了18歲的高考。高考是很多家庭跨越社會階層的最好機會,這次考試意義重大,重的讓人扭曲。扭曲後的東西在外力消失的情況下一定會反彈。卸下高考的重擔後,有人似乎失去生命的意義,直到可以考什麼試,他們會把考證當作自己的興趣愛好;有人會狂歡,從此鄙視一切考試,做一個抨擊考試教育的憤青;有人...原创 2018-02-27 11:10:09 · 425 阅读 · 0 评论 -
記我的第一個npm: vue-datepicker-m
雖然說重新造輪子不是一件必要的事,但造輪子本身卻可以是一件愉快的事。最近因爲項目需要(日曆中要實現範圍選擇,指定日期高亮,切換到月份和年份選擇),在 npmjs.org 上找了一款vue2的日曆組件,發現在手機上使用時,每次點選日期頁面底部都會出現一個奇怪的 “取消/完成” 彈框。原來組件使用了 input 元素,雖說添加了 only 屬性,但這一體驗並不好。於是我開始了造輪子之路。它的名字叫 vu原创 2018-01-05 18:20:24 · 669 阅读 · 0 评论 -
基於Rx.js與generator的排序算法可視化
一圖勝千言,一張動圖又勝過千張靜圖。學習算法,與其在大部頭的字裏行間咬文嚼字,不如先登高望遠,一覽究竟。排序是算法里的基礎,有着前輩智慧的結晶。點擊下圖,你將來到排序算法這座山頂,你可以使用默認設置,也可以稍作修改,然後點擊 “開始排序”, 你將看到看到計算機是如何一步一步將一堆雜亂的數據排好序的。它是如此直觀,你再也不會弄混各種排序算法了。打開控制臺,裏面的代碼不是醜化過的,一目了然,通俗易懂。只原创 2017-12-06 18:17:28 · 397 阅读 · 0 评论 -
写es6,用babel-node
node LTS 已经更新到v8.9.0,对es6的支持肯定更好了,node -v 一看,本地还是6.11.0, 更新之。用阮一峰老师的 es-checker 查看一下支持度=========================================Passes 38 feature DetectionsYour runtime supports 90% of ECMAScript 6原创 2017-11-02 10:40:25 · 934 阅读 · 0 评论 -
一个toLocaleDateString引发的错误
let d = new Date()d.toLocaleDateString() // "11/1/2017"const [month, day, year] = d.toLocaleDateString().split('/')// month: 11, day: 1, year: 2017为了方便得到year, month, day,采用了上面的写法,似乎没有问题。但偶有一次,在另外机器上原创 2017-11-01 11:07:29 · 1605 阅读 · 0 评论 -
用stroke-dasharray与stroke-dashoffset给svg添加动画
参考 - stroke-dasharray - stroke-dashoffst - 纯CSS实现帅气的SVG路径描边动画效果stroke-dasharray用来设置虚线,用“,”分隔的数字表示“实线,空”,stroke-dasharray=”5, 5” 。如果数字是奇数个的话,则自动补充为偶数。如 stroke-dasharray=”5,3,2” 实际为 “5,3,2,5,3,2”.st原创 2017-07-12 11:59:21 · 3949 阅读 · 0 评论 -
DOMContentLoaded与load事件
MDN参考: - DOMContentLoaded - load区别DOMContentLoaded: DOM解析完成即触发此事件,不等待styles, images等资源的加载load:依赖的资源也已加载完成DOMContentLoaded绑定到document,load绑定到windowdocument.addEventListener('DOMContentLoaded', fun原创 2017-07-12 10:09:29 · 978 阅读 · 0 评论 -
caller与callee
1. callee在函数执行时,调用arguments.callee, 返回函数本身的引用function printHello() { console.log('hello jupiter!'); console.log(arguments.callee);}printHello();输出 hello jupiter! [Function: printHello]2. ca原创 2017-07-12 09:26:45 · 376 阅读 · 0 评论 -
使用解構賦值時容易發生的一個錯誤
考慮下面 3 段代碼,看看它們的結果都是多少?代碼 1:const obj = { name: 'smith' }const { name, skill='javascript' } = objconsole.log(name, skill)代碼 2:const obj = { name: 'smith', skill: null }const { name, skill='...原创 2018-08-30 16:26:25 · 274 阅读 · 0 评论