我不知道的JavaScript

  1. Number.prototype.toFixed
    返回值是String類型

在給React組件傳prop的時候,對一個浮點數(shù)使用 toFixed 取小數(shù)點0位.傳遞后React PropType驗證報錯傳遞的是String。MDN查了之后才發(fā)現(xiàn)返回值是String類型,不是期待的Number
see@https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed

  1. on + 'event' 和 addEventListener
    話說寫了這么久前端,也沒有區(qū)分出這兩種事件綁定的區(qū)別。
    總結(jié)來說就是onclick僅能綁定一個事件處理器,而addEventListener能夠綁定多個事件處理器。

  2. +加號操作符
    我們熟知+號操作符可以用于

  • 數(shù)值計算 1+1
  • 拼接字符串 'a' + 'b'

神奇的JavaScript語言中的+號還可以用于類型轉(zhuǎn)換。用于將任何類型的數(shù)據(jù)轉(zhuǎn)換成Number.

4.Notification API
本想寫一個Notification自定義控件

function Notification() {}
Notification.prototype = {}

當我調(diào)用自定義Notification上的方法的時候發(fā)現(xiàn)is not a function;

原來Notification是w3c的標準API
see@https://developer.mozilla.org/en-US/docs/Web/API/notification

就是騰訊視頻,teambition等一些網(wǎng)站用過的瀏覽器通知彈窗。

所以我應該將自定義的Notification改成notification。
這也是為什么antd將Notification改為notification的原因了。

5.模擬事件
某天遇到一個需要模擬一個input文件上傳的需求,之前是沒有接觸過模擬事件的。

Google一下。

see@http://www.cnblogs.com/snandy/archive/2011/08/02/2122496.html

判斷元素是否有click屬性,一般只有input和button有click方法,如果沒有,就自己創(chuàng)建事件來模擬。

see@https://developer.mozilla.org/en-US/docs/Web/API/Document/createEvent

var event = document.createEvent('Event');
event.initEvent('click',true,true);
el.dispatchEvent(event);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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