
JS
比目鱼33
这个作者很懒,什么都没留下…
展开
-
总结:js数组常用API操作,并且哪些可以改变原数组,哪些不可以改变
数组常用API操作arr.reduce()var arr = [1,2,3,4,5];var reduceArr = arr.reduce(function(pre,cur,index,array){return prev + cur;})arr.filter(callback)数组过滤,返回满足条件的元素组成的一个新数组arr.map(callback)对数组每一项进行计算处理,返回一个新数组。arr.some(function(item,index,array){})依次执行数组元素,如原创 2020-09-09 09:39:58 · 1714 阅读 · 1 评论 -
浏览器缓存cookie、session、localstorage、sessionstorage的区别
0前言Cookie是服务器保存再浏览器的一小段文本信息,一般来说,单个域名设置的 Cookie 不应超过30个,每个 Cookie 的大小不能超过4KB。浏览器的同源策略规定,两个网址只要域名相同,就可以共享cookie。(不要求协议相同)cookie不是理想的客户端存储机制,容量很小,缺乏操作接口,影响性能。客户端存储应该使用web storage API和IndexedDB。只有那些每次请求都需要让服务器知道的信息才放cookie里面。cookie的设置客户端发送请求到服务端;当服务端收到原创 2020-08-03 22:05:54 · 655 阅读 · 0 评论 -
浏览器渲染、重流、重绘等操作
0前言javascript:协议的常见用途是书签脚本 Bookmarklet。由于浏览器的书签保存的是一个网址,所以javascript:网址也可以保存在里面,用户选择这个书签的时候,就会在当前页面执行这个脚本。为了防止书签替换掉当前文档,可以在脚本前加上void,或者在脚本最后加上void 0。<a href="javascript: void new Date().toLocaleTimeString();">点击</a><a href="javascript: ne原创 2020-08-03 12:17:43 · 358 阅读 · 0 评论 -
javaScript事件任务
javaScript是一个单线程执行的语言。指同时只能运行一个任务。程序里面所有的任务,可以分成两类:同步任务(synchronous)和异步任务(asynchronous)。同步任务:指那些没有被引擎挂起,在主线程上排队执行的任务,执行完毕,才能执行后一个任务。异步任务:是那些被引擎放在一边,不进入主线程、而进入任务队列的任务。(一般是以回调函数的形式)事件循环:首先,主线程会去执行所有的同步任务。等到同步任务全部执行完,就会去看任务队列里面的异步任务。如果满足条件,那么异步任务就重新进入主线程原创 2020-08-03 09:43:55 · 290 阅读 · 0 评论 -
Object对象的相关操作方法
总结一下Object对象的相关操作方法。1.Object.getPrototypeOf()Object.getPrototypeOf方法返回参数对象的原型。这是获取原型对象的标准方法。// 空对象的原型是 Object.prototypeObject.getPrototypeOf({}) === Object.prototype // true// Object.prototype 的原型是 nullObject.getPrototypeOf(Object.prototype) === nul转载 2020-08-02 15:23:26 · 502 阅读 · 0 评论 -
javascript原型、继承
通过构造函数为实例对象定义属性,虽然很方便,但是有一个缺点:就是同一个构造函数的多个实例之间,无法共享属性,从而造成资源浪费。可以通过Javascript的原型对象(prototype)解决。1.prototype属性的作用JavaScript 继承机制的设计思想就是,原型对象的所有属性和方法,都能被实例对象共享。也就是说,如果属性和方法定义在原型上,那么所有实例对象就能共享,不仅节省了内存,还体现了实例对象之间的联系。JavaScript 规定,每个函数都有一个prototype属性,指向一个对象转载 2020-08-02 14:49:34 · 213 阅读 · 0 评论 -
javascript中的this关键字
前言在Javascript中,一切皆对象,运行环境也是对象,所以函数都是在某个对象之中运行,this就是函数运行时所在的对象(环境)。this的使用场景1.全局环境。全局环境中使用this,它指的就是顶层对象window。this === window // truefunction f() { console.log(this === window);}f() // true不管是不是在函数内部,只要是在全局环境下运行,this就是指顶层对象window。2.构造函数构造函数转载 2020-08-02 11:12:09 · 240 阅读 · 0 评论 -
构造函数和New之间的操作
前言Javscript是一门面向对象编程的语言,将负责的关系抽象为一个个对象,然后由对象之间的分工与合作,完成对真实世界的模拟。面向对象的优点:具有灵活、代码可复用、高度模块化等特点,容易维护开发,比起由一系列函数或指令组成的传统的过程式编程,OOP更适合多人合作的大型软件项目。**1.对象:**对象是单个实物的抽象对象是一个容器,封装了属性(状态)和方法(行为)。构造函数对象通常需要一个模板(构造函数)生成。Javascript语言的对象体系,不是基于“类”的,而是基于构造函数和转载 2020-08-01 12:05:41 · 480 阅读 · 0 评论 -
js之防抖
写的很棒的一篇博文,转给大家一起学习js之防抖转载 2020-07-30 14:22:12 · 235 阅读 · 0 评论 -
关于节流和防抖
前几天面试虾皮信息科技的秋招面试,让我明白了,任何东西都不能靠死记硬背,一定要加以理解,这样背出来来的东西没有意义不说,而且也不会记得深刻。其中,面试问了我一个关于节流和防抖的问题,其实这个问题在面试之前我也有准备,但是在面试的时候,回答的总是模糊不清,就像是在背答案一样。所以我决定做任何事情一定要明白其原理。在前端开发中,经常需要绑定一些持续触发的事件,如resize、scroll、mousemove等等,但有些时候并不希望在事件持续触发的过程中那么频繁地去执行函数。此时我们可以用防抖和节流来解决此原创 2020-07-29 17:09:11 · 639 阅读 · 0 评论 -
JavaScript中闭包概念以及应用分析
在《你所不知道的javaScript》中闭包的定义:闭包是指有权访问另一个函数作用域中变量的函数。我理解的:预先定义一个环境,使得表达式中的每一个自由变量都得到了一个绑定值,开放表达式变成了一个闭合表达式,构建了一个闭包。进一步:闭包=函数+使得函数中每一个自由变量都获得绑定值的一个环境。函数是包含自由变量的函数,环境是使所有自由变量都获得绑定值的环境。所以得出闭包就是:函数和对其周围状态(词法环境)的引用捆绑在一起构成闭包。(function fout(){const a=1;func原创 2020-07-29 14:38:49 · 344 阅读 · 1 评论