我不知道的JavaScript

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

在給React組件傳prop的時(shí)候,對(duì)一個(gè)浮點(diǎn)數(shù)使用 toFixed 取小數(shù)點(diǎn)0位.傳遞后React PropType驗(yàn)證報(bào)錯(cuò)傳遞的是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
    話說(shuō)寫了這么久前端,也沒(méi)有區(qū)分出這兩種事件綁定的區(qū)別。
    總結(jié)來(lái)說(shuō)就是onclick僅能綁定一個(gè)事件處理器,而addEventListener能夠綁定多個(gè)事件處理器。

  2. +加號(hào)操作符
    我們熟知+號(hào)操作符可以用于

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

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

4.Notification API
本想寫一個(gè)Notification自定義控件

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

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

原來(lái)Notification是w3c的標(biāo)準(zhǔn)API
see@https://developer.mozilla.org/en-US/docs/Web/API/notification

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

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

5.模擬事件
某天遇到一個(gè)需要模擬一個(gè)input文件上傳的需求,之前是沒(méi)有接觸過(guò)模擬事件的。

Google一下。

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

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

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)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容