js
np918
这个作者很懒,什么都没留下…
展开
-
js中的作用域、作用域链和闭包
作用域作用域分全局作用域和局部作用域全局作用域:1.1函数外面定义的变量拥有全局作用域1.2未定义直接复制的变量自动声明为拥有全局作用域1.3window对象的属性拥有全局作用局部作用域:局部作用域一般只在固定的代码片段内可访问到,最常见的例如函数内部,所以在一些地方会把这种作用域称为函数作用域函数内部声明并且赋值,拥有局部作用域,ES6的块级作用域ES5只有全局和局部作用域,...原创 2019-07-09 23:39:39 · 267 阅读 · 0 评论 -
原型链
原型链分两种:显示原型链:prototype隐式原型链:一般环境下看不见,在火狐浏览器下可以通过__proto__方式访问隐式原型链用于javascript引擎内部对原型链的首存,通过显示原型链来设置一、prototype和__proto__的概念prototype是函数的一个属性,这个属性是一个指针,指向一个对象。它是现实修改对象的原型的属性。__proto__是一个对象拥有的内置属性...转载 2019-07-10 08:26:33 · 160 阅读 · 0 评论 -
继承
一、原型链继承重点:让新实例的原型等于父类的实例。特点:1、实例可继承的属性有:实例的构造函数的属性,父类构造函数属性,父类原型的属性。(新实例不会继承父类实例的属性!) 缺点:1、新实例无法向父类构造函数传参。 2、继承单一。 3、所有新实例都会共享父类实例的属性。(原型上的属性是共享的,一个实例修改了原型属性,另一个实例的原型属性也会被修改!)二、借...转载 2019-07-10 21:04:25 · 156 阅读 · 0 评论 -
Event Loop
JavaScript事件分两种,宏任务和微任务。宏任务:包括整体代码script,setTimeout,setInterval微任务:Promise.then(非new Promise),process.nectTick(node中)事件的执行顺序,先执行宏任务,后执行微任务,这个是基础,任务可以有同步任务和异步任务,同步的进入主线程,异步的进入Event Table并注册函数,异步事件完成...原创 2019-07-15 11:40:18 · 147 阅读 · 0 评论 -
Promise
promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件监听——更合理和强大promise可以理解为一个容器,里面保存着某个未来才会结束的事件的结果。promise是一个对象,从他可以获取异步操作的消息。promise提供统一的api,各种异步操作都可以用同样的方法进行处理...原创 2019-07-11 17:32:03 · 228 阅读 · 1 评论 -
本地存储
localStoragesessionStoragecookie只要不删除就会一直保存在本地浏览器关闭数据也会跟着丢掉设置的cookie过期时间之前一直有效,即使窗口或者浏览器关闭优:扩展了cookie的4k限制;可以将第一次请求的5M大小数据直接存储在本地,节约带宽优:不会保留个人信息之类的敏感信息,比较安全;仅仅是会话级别的存储优:可以控制过期的时间,使其不...原创 2019-07-11 20:41:23 · 138 阅读 · 0 评论 -
懒加载与预加载
懒加载懒加载的原理就是暂时不设置图片的src属性,而是将图片的url隐藏起来,比如写在data-src里面,等某些事件触发的时候再将图片真实的url放进src属性里面,从而实现图片的懒加载。使用场景: 我们在进行一些页面上有大量的图片资源,图片资源非常庞大,小的几kb大的几mb都有,在这种情况下我们如果说进行一次性加载所有的资源不仅用户会等待很久而且还会造成页面卡顿等情况预加载是指在...原创 2019-07-23 19:37:37 · 149 阅读 · 0 评论 -
Promise优缺点
优点:让回调函数变成了规范的链式写法,程序流程可以看的很清楚。他有一整套接口,可以实现许多强大的功能,比如同时执行多个异步操作,等到他们的状态都改变以后,在执行一个回调函数;再比如,为多个回调函数中抛出的错误,统一制定处理方法…有一个传统写法没有的好处:他的状态一旦改变,无论何时查询,都能得到这个状态。这意味着无论何时为peomise实例添加回调函数,该函数都能正确执行。传统写法的话都通过监...原创 2019-07-25 19:27:31 · 14241 阅读 · 2 评论 -
canvas合成
HTML5最重要的一块内容就是canvas画布,可以用js实现很多图片处理的功能。 <canvas id="canvas"></canvas> <img src="img/codebg.png" id="bg"> var w = document.documentElement.clientWidth || document.body.cli...转载 2019-07-25 20:35:11 · 189 阅读 · 0 评论