JS知识点 第2页

  • QA总结

    QA总结

    http缓存 强缓存:不去请求服务端,直接从本地缓存读取资源。(主要通过expires和cache-control控制)协商缓存:请求服务端,返回304,然后从本地缓存读取资源。(主要通过ETag和Last-Modified来控制,nginx默认都是开启状态。) vue和react区别,优缺点React 和 Vue 有许多相似之处,它们都有:使用 Virtual DOM提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件。将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交...

    JS知识点 2018-06-12 450 0
  • Hybrid混合开发

    Hybrid混合开发

    hybrid是什么,为何使用hybrid? ‘混合’,即前端与客户端的混合开发可以快速迭代更新(无需平台审核)体验流畅,减少开发和沟通成本,双端公用一套代码webview:app的一个组件,用于加载h5页面file协议 加载本地的文件; http(https)网络加载,慢 hybird 更新上线 替换每个客户端的静态文件只能客户端来做,去server端下载最新静态文件前端维护server的静态文件 分版本,有版本号,如201803211015将静态文件压缩成 zip 包,上传到服务端将静态文件压...

    JS知识点 2018-03-16 452 0
  • JS的原型和原型链

    JS的原型和原型链

    构造函数创建对象function Person() { } var person = new Person(); person.name = 'femans'; console.log(person.name) // femans Person 就是一个构造函数,我们使用 new 创建了一个实例对象 person prototype每个函数都有一个 prototype 属性每一个JavaScript对象(null除外)在创建的时候就会与之关联另一个对象,这个对象就是我们所说的原型,每...

    JS知识点 2018-01-04 453 0
  • npm install模块安装

    npm install模块安装

    npm install模块安装npm install 安装过程:首次安装: 读取package.json中dependencies和devDependencies依赖的模块,这些模块为首层依赖模块。项目本身是整颗依赖树的根节点,每个首层依赖模块都是根节点下面的一棵子树,npm会开启多进程从每个首层依赖模块中逐步寻找更深层次的节点。 获取模块是一个递归的过程,主要分为以下几步: 获取模块信息。package.json中描述的大多数为向上兼容的版本,如vue: ^2.1.1这样。此时会从npm仓库查询该模块,...

    JS知识点 2017-12-07 510 0
  • fjpublish: 前端项目独立发布神器

    fjpublish: 前端项目独立发布神器

    前言    最近这两年互联网项目逐渐前后分离,这导致前后端项目独立发布。    曾几何时,我相信部分Web Developer使用的项目发布方式还活在刀耕火种的年代(ftp或者ide的一些插件),发布方式简单又粗暴,想发布哪个目录就直接上传覆盖...    但是这种方式对于现在的前端项目有些弊端,例如:    若项目包含webpackgulp等构建工具,则每...

    JS知识点 2017-11-02 1458 0
  • 什么是深拷贝?深拷贝和浅拷贝有什么区别?

    什么是深拷贝?深拷贝和浅拷贝有什么区别?

    浅拷贝是指只复制第一层对象,但是当对象的属性是引用类型时,实质复制的是其引用,当引用指向的值改变时也会跟着变化。 深拷贝复制变量值,对于非基本类型的变量,则递归至基本类型变量后,再复制。深拷贝后的对象与原来的对象是完全隔离的,互不影响,对一个对象的修改并不会影响另一个对象。 function deepClone(obj) { //递归拷贝 if(obj === null) return null; //null 的情况 if(obj instanceof RegExp) return...

    JS知识点 2017-10-12 503 0
  • JS黑科技

    JS黑科技

    Boolean这个技巧用的很多,也非常的简单!!'foo'通过两个取反,可以强制转换为Boolean类型。较为常用。Number这个也特别简单,String转化为Number+'45' +new Date()会自动转化为number类型的。较为常用。IIFE这个其实非常有实用价值,不算是装逼。只是其他语言里没有这么玩的,给不太了解js的同学看那可牛逼大了。(function(arg) {     // do&n...

  • npm包发布

    npm包发布

    npm包发布npm注册1.注册(输入用户名,密码,邮箱。注册成功会自动登录) npm adduser 2.登录(输入用户名,密码就可登陆成功) npm login 3.发布(注意发布必须是登录状态下) npm publish mljr-clinpm install mljr-cli -g ➜ ~ mljr -h Usage: mljr <command> [options] Options: -V, --version output the versio...

    JS知识点 2017-07-11 464 0
  • async & await & fetch 基本使用

    async & await & fetch 基本使用

    async/await的目的是简化同步使用 promises基本语法:async function show(){      return 2;}show(); //返回值是一个promise对象所以:async function show(){       return 2; } var p=show(); p.then(res=>{   &nb...

    JS知识点 2017-07-01 1204 0 JS知识点
  • ES6中被我忽略的优雅方法

    ES6中被我忽略的优雅方法

    最近重新回顾了es6一些新特性,发现了一些挺实用,在开发中却被我忽略的方法。Array1. find(value, index, arr)在某些情况我需要判断一个数组是不是符合一些逻辑的条件比如需要判断[{id: 1}, {id: 2}, {id: 3}]中是否有含有符合 id=1的数据;以前我会使用filter方法。const array = [{id: 1, name: 'a'}, {id: 2, ...

    JS知识点 2017-05-06 830 0 es6