我不知道的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);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容