博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
知识总结
阅读量:6083 次
发布时间:2019-06-20

本文共 1978 字,大约阅读时间需要 6 分钟。

事件冒泡

function stopEvent(event){ //阻止冒泡事件    var e = arguments.callee.caller.arguments[0] || event;    // 若省略此句,下面的e改为event,IE运行可以,但是其他浏览器就不兼容    if (e && e.stopPropagation) {        e.stopPropagation();        // for Mozilla and Opera    } else if (window.event) {        window.event.cancelBubble = true;        // for IE    }}复制代码

强制要求参数

const required = () => {throw new Error('Missing parameter')};const add = (a = required(), b = required()) => a + b;add(1, 2)add(1) // Error: Missing parameter.复制代码

每30秒刷新1次接口的实现方式

setInterval会符合业务需求,然而也需要注意坑,单纯的使用setInterval会导致页面卡死!其原因与JS引擎线程有关。就是说setInterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,最终卡死网页。 但是setTimeout是自带清除定时器的,因此正确解决方法如下:

window.setInterval(() => {  setTimeout(fun, 0)}, 30000)复制代码

setInterval必须放在外层(在内层会导致页面卡顿直到崩溃),内层配合setTimeout,即可无限次调用接口

string转换成number

例如: '1' -> 1

  • Number('1')
  • parseInt('1', 10)
  • parseFloat(‘1.23’)
  • '1'- 0 (最常用)
  • +'1'

判断是否相等(==)

  • null和undefined,相等。
  • 数字和字符串,转化为数字再比较。
  • 如果有true或false,转换为1或0,再比较。
  • 如果有引用类型,优先调用valueOf。
  • 其余都不相等。
console.log(undefined == false); // falseconsole.log(null == false);      // falseconsole.log(0 == false);         // trueconsole.log(NaN == false);       // falseconsole.log("" == false);        // true复制代码

new

new: 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。

function Person1(name) {  this.name = name;  // 没有返回值}function Person2(name) {  this.name = name;  return name;  // 返回非对象}function Person3(name) {  this.name = name;  return { a: 1 };  // 返回对象}function Person4(name) {  this.name = name;  return null;  // 返回null}var p1 = new Person1("aa");var p2 = new Person2("bb");var p3 = new Person3("cc");var p4 = new Person4("dd");console.log(p1); // Person1 {name: "aa"}console.log(p2); // Person2 {name: "bb"}console.log(p3); // {a: 1}console.log(p4); // Person4 {name: "dd"}复制代码

使用 new 来创建对象||调用构造函数时,如果函数没有返回值|| 返回值是非对象,那么返回的就是构造函数实例后的对象;如果函数return对象,那么返回这个对象(特例:return null,返回的也是构造函数实例后的对象而非null)

箭头函数

箭头函数中没有this绑定,必须通过查找作用域链来决定其值。 如果箭头函数被非箭头函数包含,则this绑定的是最近一层非箭头函数的this,否则this的值则被设置为全局对象。

事件处理

转载地址:http://yluwa.baihongyu.com/

你可能感兴趣的文章
magento的一些小技巧(转)
查看>>
C++ 运行时类型识别 知道实例父类类型,显示出子类类型
查看>>
Android获取状态栏高度、标题栏高度、编辑区域高度
查看>>
bzoj1452 二维树状数组
查看>>
bzoj2561
查看>>
bzoj1093
查看>>
(转)使用vs调试的时候,如何知道程序阻塞在哪里?
查看>>
Linux其他:环境变量配置
查看>>
设置防止攻击session(疑惑)
查看>>
PHP 服务器及TP5框架遇到的几个错误
查看>>
用VMware克隆CentOS 6.5如何进行网络设置
查看>>
redis conf文件详解(转)
查看>>
7月心情
查看>>
jsp jsp九个内置对象
查看>>
PHP(六)PHP和HTML混合的一种形式
查看>>
前端Js框架汇总
查看>>
Cooperation.GTST团队第一周项目总结
查看>>
递归遍历二叉树
查看>>
图标网站收藏
查看>>
jquerymobile changepage 无法加载外部js文件解决办法
查看>>