JS备忘

Start

一般事件绑定

  • .onclick:点击事件

  • .onfocus:聚焦(选中)

  • .onblur:解除聚焦

  • .onmouse(over/out):鼠标移入/移开

  • .onsubmit:表单提交

  • .addEventListener('事件',函数)/removeEventListener('事件',函数):添加/移除,监听事件,可对一个对象的一个事件添加两个不同函数

特殊对象

  • 诸如event evt e(可以是任何表示)都是事件对象会默认传入事件绑定的函数,event/evt/e.target指刚刚发生事件的元素

继承

  • Objet().的属性不被继承,而Object.prototype.的属性被继承

  • .call():这个函数允许您调用一个在这个文件里别处定义的函数。第一个参数指明了在您运行这个函数时想对“this”指定的值,也就是说,您可以重新指定您调用的函数里所有“this”指向的对象。可以让构造器继承某个构造器的属性

  • newObj.prototype = Object.create(Obj.prototype)这串代码使得newObj继承了Obj的方法

  • newObj.prototype.constructor = newObj这使得newObj的prototype和constructior只想的newObj构造器本身,而不是调用call函数的对象的构造器

  • Obj.prototype.constructor===Obj()(构造方法)

JSON

纯数据,无函数

  • 获取内部成员的方法类似对象
  • .parse():接收json字符串,返回json对象
  • .stringify():接收对象,返回json字符串

异步

JS一般是单线程

() => x()=> {return x;} 的有效简写;

callbacks(回调函数)

将回调函数作为参数传递给另一个函数仅仅是把回调函数定义作为参数传递过去 — 回调函数并没有立刻执行,回调函数会在包含它的函数的某个地方异步执行,包含函数负责在合适的时候执行回调函数。

promises

用来表示异步操作成功或者失败的对象

​ 有三个状态:

  • pending(待定)

  • resolved(已解决)

    • fullfilled(成功)
    • rejected(失败)

promise.all():传入promise数组,当数组中所有promise执行成功后再执行promise.all()then

异步函数

setTimeout()和setInterval()

  • setTimeout(func,time):在一段时间time后执行函数func

    • clearTimeout():清除
  • setInterval(func,time):以固定时间间隔重复运行代码

    • clearInterval():清除intervals

    • setTimeout(func,time)
      function func(){
          //options-codes;
          setTimeout(func,time);
      }
      //用递归和setTimeout()实现与setInterval相同的功能
  • setTimeout()严格按照所传入的时间间隔执行,而setInterval()传入的时间间隔则包括代码执行时间和间隔时间(例如传入100ms,代码执行10ms,则实际间隔只有90ms)

  • 使用0用作setTimeout()的回调函数会立刻执行,但是在主线程代码运行之后执行。

requestAnimationFrame()

  • requestAnimationFrame():setInterval()的现代版本;在浏览器下一次重新绘制显示之前执行指定的代码块,从而允许动画在适当的帧率下运行,而不管它在什么环境中运行.
  • requestAnimationFrame():可传入一个带时间戳参数的函数,表示从函数执行到现在的时间
  • cancelAnimationFrame():用于撤销动画

异步API

  • URL.createObjectURL(thing):此静态方法会创建一个thing的URL

fetch

  • 全局fetch:fetch(URL).then(func1()).then(func2()).catch(func3(err)):返回一个promise,两个then的参数都是回调函数,如果前一个操作成功则运行该回调函数,并且每个回调函数的参数均是前一个操作的返回值,每个then也会返回一个promise,当任何一个then失败就会运行catch

APIS

浏览器

  • window是载入浏览器的标签,在JavaScript中用Window对象来表示,使用这个对象的可用方法,你可以返回窗口的大小(参见Window.innerWidthWindow.innerHeight),操作载入窗口的文档,存储客户端上文档的特殊数据(例如使用本地数据库或其他存储设备),为当前窗口绑定event handler,等等。
  • navigator表示浏览器存在于web上的状态和标识(即用户代理)。在JavaScript中,用Navigator来表示。你可以用这个对象获取一些信息,比如来自用户摄像头的地理信息、用户偏爱的语言、多媒体流等等。
  • document(在浏览器中用DOM表示)是载入窗口的实际页面,在JavaScript中用Document 对象表示,你可以用这个对象来返回和操作文档中HTML和CSS上的信息。例如获取DOM中一个元素的引用,修改其文本内容,并应用新的样式,创建新的元素并添加为当前元素的子元素,甚至把他们一起删除。
    • .querySelector():根据dom规则寻找元素
    • .appendChild():添加子元素
    • .removeChild():rm子元素

正则匹配

  • \d:匹配数字
  • \w:匹配字母
  • .:匹配任意字符
  • *:匹配任意个字符,包括0个,
    • 用**+**来表示至少包含一个字符,
    • 来匹配0或者1个字符,
    • {n}表示n个字符
    • {n,m}表示n-m个字符
  • \s:匹配空白符
  • []:表示范围,例如[0-9a-zA-Z\_]可以匹配一个数字、字母或者下划线
  • A|B:匹配A或者B
  • ^:表示行的开头
    • ^\d:表示以数字开头
  • $:表示行结束
    • \d$:表示以数字结束

AJAX

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 1970-2020 John Doe
  • Visitors: | Views:

请立刻给我钱

支付宝
微信