随笔分类 - js
摘要:一、定义构造函数 在以前的js中,生成一个对象实例,需要先定义构造函数,然后通过prototype 的方式来添加方法,在生成实例: 然而系现在的ES6 在ES5中原本的构造函数被constructor 替代,本来需要定义在prototype上面的,方法直接定义在class里面即可。 ES6中的类的数
阅读全文
摘要:一、初步区分深拷贝与浅拷贝 JS中有深拷贝与浅拷贝之说。什么是深拷贝什么是浅拷贝,简单点来说:就是假设B复制了A,当修改A时,看B是否变化。如果B也跟着变化,就是浅拷贝。如果B没有变,就是深拷贝。 二、深入了解 JS中有基本数据类型与引用数据类型。 数据类型:number,string, boole
阅读全文
摘要:一、什么是ES6的Promise 讲太多也没有。直接在打印出来就好,console.dir(Promise) Promise 是一个构造函数,自身有all, reject, resolve 这几个眼熟的方法,原型上有then、catch等方法。如果用Promise new 出来的对象肯定就有then
阅读全文
摘要:一、在ES5中,js 的作用域 js作用域,只有全局作用域与函数作用域,没有块级作用域。 1、全局作用域 a =10 是全局的 而a=20 是局部的 2、变量的查找是就近原则,去寻找var定义的变量,当就近没有找到的时候就去查找外层。 这个虽然是就近原则,但是就近找var声明的变量,因为a= 20
阅读全文
摘要:一、 js 是单线程和异步 1、 js 是单线程的,js 的宿主环境(浏览器)是多线程的,实现异步。 2、js是单线程语言,浏览器值分配给js一个主线程,用来执行任务(函数),但一次只能执行一个任务,这些任务形成一个任务队列排队等候执行。 3、 前端中有些任务是非常耗时的,比如: 网络请求、定时器和
阅读全文
摘要:H5的缓存,大概有localstorage、sessionstorage、cookie和manifest。 一、LocalStorage LocalStorage是永久性的本地缓存,存储在客户端的浏览器上,除非主动删除,是不会过期的。LocalStorage采用的是键值对的方式进行存储,存储方式只能
阅读全文
摘要:在项目开发中,不免会遇到图片上传的问题,除了用一些框架自带的方法,我们是需要了解原生JS怎么完成图片的上传与转换的。 一、图片转换成base64的各种场景
阅读全文
摘要:在项目中,每次发起一次请求,浏览器中就会查询到response header与request header 等请求头与响应头。具体其中的各参数代表什么意思,简单总结下: 一、请求头(request headers) 1、Accept:可接受的响应内容类型(返回的数据类型) 2、Accept-Enco
阅读全文
摘要:一、多路复用 HTTP2.0 使用了多路复用技术,做到同一个连接并发处理多个请求,而且并发请求的数量比HTTP1.1大了好几个数量级。 二、数据压缩 HTTP1.1不支持header数据压缩,HTTP2.0使用HPACK算法对header的数据进行压缩,这样数据体积小了,在网络上传输就会更快。 三、
阅读全文
摘要:自从接触了react,vue 这两个框架,都会用到webpack这个打包工具。面试的时候,经常被问到知道webpack的编译原理吗? 可以简单的介绍一下。每每这个时候都被问的哑口无言,平时用的时候挺顺手,真正说点之乎者也出来,还是有点难度的。 一、 webpack 的作用 总结为一下三点: 1、依赖
阅读全文
摘要:一、堆和栈的介绍 1、堆和队,是先进先出;栈,是先进后出,就跟水桶差不多; 2、存储速度:堆和队的存储速度较慢,栈的存储速度较快,会自动释放; 二、js中存储的类型 1、堆,一般用于复杂数据类型,存储速度较慢,例如js中的数组对象,object对象; 2、栈,主要存放一些基本类型的变量和对象的引用,
阅读全文
摘要:一、与安卓的交互 Android与js通过WebView互相调用方法,实际上是: Android去调用JS的代码 JS去调用Android的代码 二者沟通的桥梁是WebView 对于android调用JS代码的方法有2种: 1. 通过WebView的loadUrl() 2. 通过WebView的ev
阅读全文
摘要:一、Typescript 中数组 let list: number[] = [1, 2, 3]; let list: Array<number> = [1, 2, 3];
阅读全文
摘要:一、正则表达式中/i,/g,/ig,/gi,/m 的区别和含义 /i (忽略大小写) /g (全文查找出现的所有匹配字符) /m (多行查找) /gi(全文查找、忽略大小写) /ig(全文查找、忽略大小写)
阅读全文
摘要:1、减少dom 的操作; 2、部署前,图片压缩,代码压缩; 3、优化JS代码结构,减少冗余代码; 4、减少http请求,合理设置http缓存; 5、使用内容分发cdn 加速;(内容分发网络); 6、静态资源缓存;(localstorage) 7、图片延迟加载。(echo.css和echo.min.j
阅读全文
摘要:webpack、grunt、glub 都是前端打包的工具: grunt/gulp 的工作方式是:在一个配置文件中,指明对某些文件进行压缩、组合、检查等任务的具体步骤,然后在运行中输入相应的命令。 webpack 的工作方式是: 把你的项目当做一个整体,通过一个指定的主文件名(index.js, 一般
阅读全文
摘要:一、箭头函数 ES6中新增了一个箭头函数 ()=>,箭头函数通俗点讲就是匿名函数。箭头函数还有不同点在于改变函数中this,和js中的.bind 的方法差不多,继承后指向的不是最新的函数,还是之前的那个原型对象。 二、类的支持 ES6中添加了对类的支持,引入了class关键字。JS本身就是面向对象,
阅读全文
摘要:AMD, 异步模块定义。 CMD,通用模块规范。
阅读全文
摘要:继承的方式一共有三种: 一、原型继承 通过prototype 来实现继承。 二、构造函数实现继承 三、 通过call、apply 实现继承
阅读全文

浙公网安备 33010602011771号