近期工作總結(jié) 8.12

又是久違的總結(jié)。
最近在做的項目是一個動畫柒瓣,用 Canvas 實現(xiàn)儒搭,用的庫是 Pixi,做一個射擊抽獎小游戲芙贫。做動畫還是有些門道的搂鲫,比如做云的動畫,要考慮云什么時候走到界面邊緣要銷毀磺平,再生成一片新的云魂仍,還有云出現(xiàn)的位置要稍微隨機,不能每一次都出現(xiàn)在一個地方拣挪。

在做射擊人物部分的時候擦酌,以為要做人的碰撞檢測,結(jié)果Pixi可以在每個動畫上綁定事件菠劝,只要監(jiān)聽事件即可赊舶。碰到一個坑就是兩個綁定事件的動畫不能疊加在一起,否則只有層級最高的那個動畫元素事件會觸發(fā)。

知識總結(jié)

實現(xiàn)復(fù)制功能

IE 下可以直接調(diào) api setData("text", text)锯岖,有個坑是如果復(fù)制的內(nèi)容是 undefined 的話會報錯介袜。Chrome 下沒有這個API。Chrome 下實現(xiàn)復(fù)制的方法是:在頁面創(chuàng)建一個 <textarea>標(biāo)簽出吹,將要復(fù)制的內(nèi)容復(fù)制給 <textarea> 的 value屬性遇伞,獲取到 <textarea> 后調(diào)用它的 selection 方法,將文本選中捶牢,然后使用 execCommand('copy', false, false)實現(xiàn)復(fù)制鸠珠。

封裝操作 Cookie 的方法

研究了下組里 SDK 中操作 Cookie 的方法。dealCookie(name, value, opt...)
實現(xiàn)大致如下:首先判斷參數(shù)有幾個秋麸,如果只有一個渐排,說明只是想獲取 Cookie,先將保存的 Cookie 取出灸蟆,使用 split將Cookie以 ';' 分隔轉(zhuǎn)為一個數(shù)組驯耻。
遍歷每個數(shù)組,首先利用正則/^\+s|+s$/g去掉首尾的空格炒考,將數(shù)組切割到name.length的長度并與${name}=做比較可缚,如果相等,將這個數(shù)組取出斋枢,在返回的時候帘靡,返回之前,需要做一個decodeURIComponent瓤帚,因為有的瀏覽器 Cookie 值不支持中文描姚,需要編碼后才能存儲,所以取出來的時候需要做一個 decodeURIComponent戈次,重復(fù)寫一次是為了記住這個操作API轩勘。
如果傳參大于一個,說明需要做的是存儲 Cookie 的操作怯邪,
對于 Cookie 的 path的處理赃阀,如果沒傳,默認(rèn)使用 /作為保存路徑擎颖;
對于 domain榛斯,如果沒傳,默認(rèn)使用 location.host搂捧;
secure默認(rèn)為空字符串 ''驮俗,secure的作用是,如果為true允跑,則該 Cookie 只有在使用 https 時才會發(fā)送到服務(wù)端王凑。
比較復(fù)雜的是對 expires的處理搪柑,因為舊瀏覽器不支持直接傳天數(shù),只支持 UTC 格式的時間索烹,所以對傳入數(shù)字要做處理:實例化一個 Date——date工碾,使用 date = date().setTime(date.getTime() * 24*60*60*1000)得到一定天數(shù)之后的時間戳。 讓 expires等于 date.toUTCString()百姓。
傳兩個參數(shù)還有一個情況渊额,就是 valuenull時,意味著要刪除 Cookie 垒拢,則直接將 expires 賦為 -1 旬迹。

如何監(jiān)聽 CSS transition 的停止

有一個 transitionend 事件,會在 transition 結(jié)束后調(diào)用求类。如果改變的屬性有多個奔垦,transition 就會觸發(fā)多次。

input 所有事件的調(diào)用順序

mousedown -> focus -> mouseup -> click 
keydown -> keyup -> input(h5 新事件尸疆,<input type="text"> 不會觸發(fā) change事件) -> change -> blue)

webpack 熱更新原理簡單描述

使用 websocket椿猎,在頁面插入 websocket,同時監(jiān)聽自定義事件寿弱,在本地開啟服務(wù)器犯眠,css,js 就是服務(wù)器上的靜態(tài)文件,每次文件有變化脖捻,都跟文件的上一個 mtime屬性比較,如果不一樣兆衅,說明文件發(fā)生變化地沮,觸發(fā)事件,把變化的內(nèi)容告知瀏覽器羡亩,瀏覽器通過直接插入一個新 css摩疑,或者覆蓋原來 css 樣式的方法修改 CSS,實現(xiàn)熱更新畏铆。

柯里化簡述

利用閉包雷袋,先執(zhí)行一次 currying,將參數(shù)存儲起來辞居,最后調(diào)用的時候再使用全部的參數(shù)調(diào)用楷怒。

function currying(fn) {
  let allArgs  = [ ];
  return function next() {
    if (arguments.length > 0) {
      let arg = Array.prototype.slice.call(arguments);
      allArgs.push(arg);
      return next;
    } else {
      fn.apply(null, allArgs);
    }
  }
}

這種適合 add(2,3)(6,5)()調(diào)用,如果要add(2,3)(6,5)瓦灶,可以改寫 next 的 valueOf鸠删,利用函數(shù)打印會調(diào)用 valueOf的特性,在 valueOf里執(zhí)行函數(shù) next贼陶。

零碎知識

  • <img> 的默認(rèn) displayinline刃泡,行內(nèi)可替換元素巧娱;
  • arguments 轉(zhuǎn)為數(shù)組:Arrary.prototype.slice.call(arguments)
  • 多益面試題,在《你不知道的JS》中有提到 3.toString()會報錯烘贴,因為第一個點會被認(rèn)為是 3 的小數(shù)點禁添,所以應(yīng)該3..toString()

對后端的理解

上周周末用 egg 實現(xiàn)了 RESTful 接口,RESTful 說白了就是一個接口只負(fù)責(zé)獲取/修改一項數(shù)據(jù)桨踪,不像有的接口一個接口就返回了一個頁面所有需要的數(shù)據(jù)老翘。而前后端分離,就是向后端獲取的不是 html 文件馒闷,而是一個個 json 數(shù)據(jù)酪捡,前端拿到數(shù)據(jù)后自己決定如何渲染。在開發(fā)的過程中纳账,為了還原真實的數(shù)據(jù)返回逛薇,用爬蟲去豆瓣抓了 200 個最新的電影數(shù)據(jù),保存在一個 json 文件中疏虫,然后利用 json 文件的數(shù)據(jù)永罚,自動創(chuàng)建 sql 腳本,放到 mysql 執(zhí)行卧秘,一個有 200 條數(shù)據(jù)的表就創(chuàng)建完成呢袱。
另外,為了解決跨域問題使用了兩種方案翅敌,一種是后端使用 cors羞福,將本地 url 添加進(jìn)白名單,assess-control-arrow-origin就會是我們本地的 url 蚯涮,就能直接從不同域的服務(wù)端獲取數(shù)據(jù)治专,這樣還無法傳輸 Cookie,要使用 cors 傳輸 Cookie遭顶,還需要將access-controll-arrow-Credentials: true张峰,ajax設(shè)置withCredentialstrue

新的算法知識

重新擼了一遍動態(tài)規(guī)劃的跳臺階棒旗,利用迭代而不是用遞歸喘批。讓 n1 = n2,n2 = total铣揉,總的次數(shù)就是 n1 + n2饶深,一個斐波那切數(shù)列。
還有過了一遍“找出第 k 小個數(shù)”逛拱,就是利用頂堆粥喜,簡化版的堆排序,在找到了 k 個數(shù)后停止即可橘券。

做項目的總結(jié)

接觸一個新項目额湘,接口文檔卿吐,交互邏輯不確定是不是完整的時候,要在腦海里完整過一遍這個項目每個交互過程锋华,模擬整個交互嗡官,看看哪些交互文檔沒有提及,哪些接口可能要用到毯焕,但是文檔上沒有衍腥,盡量不要邊開發(fā)邊要接口,否則可能出現(xiàn)在開發(fā)一個邏輯纳猫,結(jié)果接口后端還沒做婆咸,或者文檔沒有補齊,就要等其他組的同事做完才能繼續(xù)開發(fā)這樣十分沒有效率芜辕。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尚骄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子侵续,更是在濱河造成了極大的恐慌倔丈,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件状蜗,死亡現(xiàn)場離奇詭異需五,居然都是意外死亡,警方通過查閱死者的電腦和手機轧坎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門宏邮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缸血,你說我怎么就攤上這事蜜氨。” “怎么了属百?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵记劝,是天一觀的道長变姨。 經(jīng)常有香客問我族扰,道長,這世上最難降的妖魔是什么定欧? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任渔呵,我火速辦了婚禮,結(jié)果婚禮上砍鸠,老公的妹妹穿的比我還像新娘扩氢。我一直安慰自己,他們只是感情好爷辱,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布录豺。 她就那樣靜靜地躺著朦肘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪双饥。 梳的紋絲不亂的頭發(fā)上媒抠,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機與錄音咏花,去河邊找鬼趴生。 笑死,一個胖子當(dāng)著我的面吹牛昏翰,可吹牛的內(nèi)容都是我干的苍匆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼棚菊,長吁一口氣:“原來是場噩夢啊……” “哼浸踩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起窍株,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤民轴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后球订,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體后裸,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年冒滩,在試婚紗的時候發(fā)現(xiàn)自己被綠了微驶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡开睡,死狀恐怖因苹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情篇恒,我是刑警寧澤扶檐,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站胁艰,受9級特大地震影響款筑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜腾么,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一奈梳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧解虱,春花似錦攘须、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浮驳。三九已至,卻和暖如春捞魁,著一層夾襖步出監(jiān)牢的瞬間抹恳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工署驻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留奋献,地道東北人。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓旺上,卻偏偏與公主長得像瓶蚂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子宣吱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,139評論 25 707
  • 北方的春 總是那么姍姍來遲 邁著蹣跚的步伐 帶不來春的暖意 北方的春 總是那么令人滿懷期待 期待著驕陽暖心 期待著...
    不平凡的心閱讀 224評論 0 0
  • iOS App集成Apple Pay教程 2014年10月23日 蘋果在本周一發(fā)布了iOS 8.1版本窃这,并正式開放...
    白屏閱讀 1,704評論 2 50
  • HTML 表單是一個包含表單元素的區(qū)域。表單元素是允許用戶在表單中輸入內(nèi)容,比如:文本域(textarea)征候、下拉...
    大主教小豪閱讀 250評論 0 0
  • 有時候你把什么放下了杭攻,不是因為突然就舍得了,而是期限到了疤坝,任性夠了兆解,失望滿了,成熟多了跑揉,也就知道這一頁該翻過去了锅睛。...
    愛吃魚的壞貓閱讀 416評論 0 0