我不知道的JavaScript

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

在给React组件传prop的时候,对一个浮点数使用 toFixed 取小数点0位.传递后React PropType验证报错传递的是String。MDN查了之后才发现返回值是String类型,不是期待的Number
see@https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed

  1. on + 'event' 和 addEventListener
    话说写了这么久前端,也没有区分出这两种事件绑定的区别。
    总结来说就是onclick仅能绑定一个事件处理器,而addEventListener能够绑定多个事件处理器。

  2. +加号操作符
    我们熟知+号操作符可以用于

  • 数值计算 1+1
  • 拼接字符串 'a' + 'b'

神奇的JavaScript语言中的+号还可以用于类型转换。用于将任何类型的数据转换成Number.

4.Notification API
本想写一个Notification自定义控件

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

当我调用自定义Notification上的方法的时候发现is not a function;

原来Notification是w3c的标准API
see@https://developer.mozilla.org/en-US/docs/Web/API/notification

就是腾讯视频,teambition等一些网站用过的浏览器通知弹窗。

所以我应该将自定义的Notification改成notification。
这也是为什么antd将Notification改为notification的原因了。

5.模拟事件
某天遇到一个需要模拟一个input文件上传的需求,之前是没有接触过模拟事件的。

Google一下。

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

判断元素是否有click属性,一般只有input和button有click方法,如果没有,就自己创建事件来模拟。

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);

你可能感兴趣的:(我不知道的JavaScript)