随笔分类 - JS
1
前端基本功夯实
摘要:1、效果图 需求:首先这是一个数据集—js的类型,我们需要把生成一个tree形式的对象 : var data = [ { id: 1, name: "办公管理", pid: 0 }, { id: 2, name: "请假申请", pid: 1 }, { id: 3, name: "出差申请", pi
阅读全文
摘要:一、相同点: 函数用于将一个或多个对象的内容合并到目标对象。 都可以用于浅拷贝 $.extend(target ,defaults, options) 与Object.assign(target ,defaults, options) 浅拷贝: 1、$.extend(target ,defaults
阅读全文
摘要:因为能够被for...of正常遍历的,都需要实现一个遍历器Iterator。而数组、字符串、Set、Map结构,早就内置好了Iterator(迭代器),它们的原型中都有一个Symbol.iterator方法,而Object对象并没有实现这个接口,使得它无法被for...of遍历。例如: 如下: Ar
阅读全文
摘要:jquery 请求后台数据 要把json对象 转换 字符串。 通过JSON.stringify 转字符串 才能通过与后端交互 请求数据。 $.ajax({ type: "post", // 请求类型 GET/POST contentType: "application/json; charset=u
阅读全文
摘要:最近被一款来自京东凹凸实验室的多终端开发框架Taro吸粉了,官方对 Taro 的简介是使用React语法,一键生成多终端应用(包括小程序 / H5 / 快应用 / RN 等),而目前 Github 的 Star 也达到了非常可观的数量:4k+。对此,笔者也尝了把鲜,体验了下如何使用Taro写微信小程
阅读全文
摘要:使用Promise链式调用解决多个异步回调的问题 比如我们平常经常遇到的一种情况: 网站中需要先获取用户名,然后再根据用户名去获取用户信息。这里获取用户名getUserName()和获取用户信息getUser()都是调用接口的异步请求。在获取用户信息之前,需要先获得用户名。也就是说getUser依赖
阅读全文
摘要:原生APP跳转到H5页面时,往往需要携带一些用户信息,之前做法是在跳转的地址中拼接H5页面需要的参数,现在通过window.WebViewJavascriptBridge悄悄的进行数据交互。 本文主要从H5的角度记录交互思路: 1:安卓环境和ios环境稍微有点不同,需要根据navigator.use
阅读全文
摘要:【导读】关于 JSBridge,绝大多数同学最早遇到的是微信的 WeiXinJSBridge(现在被封装成 JSSDK),各种 Web 页面可以通过 Bridge 调用微信提供的一些原生功能,为用户提供相关的功能。其实,JSBridge 很早就出现在软件开发中,在一些桌面软件中很早就运用了这样的形式
阅读全文
摘要:js变量提升与函数提升的详细过程 先来看两个栗子,下面的两段代码分别输出什么? // 代码段1 function foo() { var a = 1; function a() {} console.log(a); } foo(); // 代码段2 function foo() { var a; f
阅读全文
摘要:为什么要优化打包? 项目越做越大,依赖包越来越多,打包文件太大 单页面应用首页白屏时间长,用户体验差 我们的目的 减小打包后的文件大小 首页按需引入文件 优化 webpack 打包时间 优化方式 1、 按需加载 1.1 路由组件按需加载 1.2 第三方组件和插件。按需加载需引入第三方组件 1.3 对
阅读全文
摘要:先看下面的代码 上面的执行结果是1,3,2 原因:上面的setTimeout可以理解为异步函数调用,因为javascript是单线程的,主线程拥有一个执行栈和一个事件循环 当代码开始执行的时候,主线程会依次执行代码(就是script里面的代码),当遇到异步函数的时候(setTimeout),会将该函
阅读全文
摘要:函数在执行时,会在函数体内部自动生成一个this指针。谁直接调用产生这个this指针的函数,this就指向谁。 怎么理解指向呢,我认为指向就是等于。例如直接在js中输入下面的等式: console.log(this window);//true 情况不同,this指向的对象也不同。例如: 1. 函数
阅读全文
摘要:定义和用法 1.reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 2.reduce() 可以作为一个高阶函数,用于函数的 compose 3.reduce() 对于空数组是不会执行回调函数的 浏览器支持 支持谷歌、火狐、ie9以上等主流浏览器 语法
阅读全文
摘要:函数防抖和函数节流都是老生常谈的问题了。这两种方式都能优化 js 的性能。有些人可能会搞混两个的概念。所以,我以自己的理解,来解释这两个概念的含义。并且列举在小程序中这两个方法的使用。 函数防抖 : 英文 debounce 有防反跳的意思,大致就是指防止重复触发。 那么,函数防抖,真正的含义是: 延
阅读全文
摘要:JS异步编程 JS三座大山: 原型原型链、作用域闭包、同步异步 。 之前有写过自己对闭包的理解,今天来总结一下JS中的异步。 思考(案例来自stackoverflow): 初学异步的时候,这里是很容易错的地方,你想要获取从服务器端返回的数据,结果却一直undefined。 分析: JavaScrip
阅读全文
摘要:因为图片为内联元素,有文字特性,默认存在间隙,所以会出现空白部分。 可以将图片设置为block元素。 还有种方法就是给父级设置fontsize 0,logo先不设置block
阅读全文
摘要:写一个函数方法,参数传入即可。默认get 请求 ajax调用
阅读全文
摘要:简要:添加Expires头能有效的利用浏览器的缓存能力来改善页面的性能,能在后续的页面中有效避免很多不必要的Http请求, WEB服务器使用Expires头来告诉Web客户端它可以使用一个组件的当前副本,直到指定的时间为止。 expires用于设定网页的过期时间,一旦过期就必须从服务器上重新加载.时
阅读全文
摘要:在典型的oop的语言中,如java,都存在类的概念,类就是对象的模板,对象就是类的实例。但在js中不存在类的概念,js不是基于类,而是通过构造函数(constructor)和原型链(propotype chains)实现的。但在ES6中引入了类(class)这个概念,作为对象的模板,新的class写
阅读全文
摘要:在此,先分享一个我的一点经验,做前端的,或者写代码的应该都一样,时刻都得准备好学习新东西,接受新知识,而且不像上学时候那样有某门课专门可以事无巨细的囊括某类知识点,所以只要看到某个新词或是某个新的概念之类的,马上复制,然后百度!这样,你会发现看一篇文章的同时又看了相关的好多篇文章,这样,知识才会慢慢
阅读全文
1