-
js同步和异步的区别是什么?
javascript是一门单线程语言,所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务。如果一个任务耗时过长,那么后面的任务就必须一直等待下去,会拖延整个程序。 js的执行模式分为两种:同步 和 异步。 ① 同步模式: 就是后一个任务等待前一个任务结束,然后再执行,程序的执行顺序与任务的排列顺序是一致的…- 686
- 0
-
2021年web前端面试集锦
一. HTML、CSS相关 html5新特性、语义化 语义化标签 : header nav main article section aside footer 语义化意味着顾名思义,HTML5的语义化指的是合理正确的使用语义化的标签来创建页面结构,如 header,footer,nav,从标签上即可以直观的知道这个标签的作用,而不是滥用div。 语义化的优点有: 代码结构清晰,易于阅读,利于开发和…- 1.1k
- 0
-
对于 fetch 和 axios 和 Ajax 区别 ?
1.Ajax Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。 用法: $.ajax({ type: 'POST', url: url, data: data, dataType: dataType, success: function() {}, error: …- 947
- 0
-
对于Promise的简单理解 ?
Promise 的用途 首先要了解Promise是什么,有什么用,为啥要用它? 是什么? 当谈到Promise的时候,你肯定顺便听到回调、异步、这样的玩意。其实说得通俗一点,Promise就是一种写代码的方式,并且是用来写JavaScript编程中的异步代码的。 基本用法 一句话: return new Promise((resolve,reject)=>{}) 那么Promise有什么用,…- 715
- 0
-
Vue 组件间通信六种方式
前言 组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用。一般来说,组件可以有以下几种关系: 如上图所示,A 和 B、B 和 C、B 和 D 都是父子关系,C 和 D 是兄弟关系,A 和 C 是隔代关系(可能隔多代)。 针对不同的使用场景,如何选择行之有效的通信方式?这是我们所要探讨的主题。本文总结了vue组件间通信的几种方式,如prop…- 705
- 0
-
Vue3.0 起跑 搭建项目后应用 系列二
Vue3.0部分知识点 项目目录结构 |-node_modules -- 所有的项目依赖包都放在这个目录下 |-public -- 公共文件夹 ---|favicon.ico -- 网站的显示图标 ---|index.html -- 入口的html文件 |-src -- 源文件目录,编写的代码基本都在这个目录下 ---|assets -- 放置静态文件的目录,比如logo.pn就放在这里 ---|…- 1k
- 0
-
async 函数和 promises 的性能提升
JavaScript 的异步过程一直被认为是不够快的,更糟糕的是,在 NodeJS 等实时性要求高的场景下调试堪比噩梦。不过,这一切正在改变,这篇文章会详细解释我们是如何优化 V8 引擎(也会涉及一些其它引擎)里的 async 函数和 promises 的,以及伴随着的开发体验的优化。 异步编程的新方案 从 callbacks 到 promises,再到 async 函数 在 promises 正…- 1k
- 0
-
Vue SEO的四种方案
众所周知,Vue SPA单页面应用对SEO不友好,当然也有相应的解决方案,通过查找资料,大概有以下4种方法。 1.Nuxt 服务端渲染应用部署 (SSR服务器渲染) 关于服务器渲染:Vue官网介绍 ,对Vue版本有要求,对服务器也有一定要求,需要支持nodejs环境。 使用SSR权衡之处: 开发条件所限,浏览器特定的代码,只能在某些生命周期钩子函数 (lifecycle hook) 中使用;一些外…- 995
- 0
-
JS中的 async 和 await 使用技巧
一、概述 案例: async function asyncReadFile () { const f1 = await readFile('/etc/fstab'); const f2 = await readFile('/etc/shells'); console.log(f1.toString()); console.log(f2.toString())…- 752
- 0
-
H5用axios代替Ajax调取服务器接口
功能需求: 普通ajax调取后台接口需要写很多代码,且不好统一管理token 所需材料: HTML页面 , Config.js , Api.js 正文部分: 第一步:在a.html引入vue.js, axios文件, a.js, config.js 和 api.js,路径自己配好 <script src="https://cdn.bootcss.com/vue/2.5.17-be…- 988
- 0
-
Promise解决回调嵌套问题及终极解决方案async 和 await
一、Promise 1.异步函数 与 回调函数的说明 回调函数: 把一个函数当成参数传递, 将来特定的时机调用, 这个函数就叫回调函数 什么时候会用到回调函数, 异步的时候 延时器 setTimeout ajax (传入函数, 作为回调, 将来在特定时机调用) console.log(1) setTimeout(function() { console.log(2) setTimeout(func…- 965
- 0
-
从0到1搭建webpack2+vue2自定义模板详细教程
前言 webpack2和vue2已经不是新鲜东西了,满大街的文章在讲解webpack和vue,但是很多内容写的不是很详细,对于很多个性化配置还是需要自己过一遍文档。Vue官方提供了多个vue-templates,基于vue-cli用的最多,不过对于很多人来说,vue-cli 的配置还是过于复杂,对于我们了解细节实现不是很好,所以想自己从零开始搭建一个模板工程,也顺便重新认识一下webpack和vu…- 1k
- 0
-
Vue.nextTick 的原理和用途
一、原理 1.异步说明 Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新。 2.事件循环说明 简单来说,Vue在修改数据后,视图不会立刻更新,而是等同一事件循环中的所有数据变化完成之后,再统一进行视图更新。 eg: 图解: 事件循环: 第一个tick(本次更新循环) 1.首先修改数据,这是同步任务。同一事件循环的所有的同步任务都在主线程…- 830
- 0
-
彻底弄懂JavaScript执行机制
之前介绍了进程与线程,知道渲染进程都有一个主线程,并且主线程工作很多,要处理DOM、计算样式、布局、还有鼠标、键盘等各种JS任务 我们都知道 JS是单线程 ,任务只能一件一件地执行,那么浏览器是怎么让这么多类型的任务在主线程上有条紊地执行的呢? 这就需要任务队列和事件循环了 任务队列(消息队列) 什么是任务队列呢? 它是一种数据结构,存放要执行的任务。然后事件循环系统再以先进先出原则按顺序执行队列…- 341
- 0
-
自定义封装axios
前言 今天研究了一下公司pc端封装的axios,主要配合element以及js-cookie,自己跟着搞了一遍,在这里记录一下。 代码 import axios from 'axios'; import { Loading } from 'element-ui'; import Cookies from 'js-cokie'; //基于a…- 702
- 0
-
Flutter 2020:跨平台状态
已兑现承诺 Flutter cross-platform promises: mobile, web, and desktop Flutter是Google支持的跨平台框架,可实现跨平台软件开发。 这意味着Flutter应用程序可以从一个代码库开发,构建并部署在多个平台上。 承诺 单一的代码库承诺非常诱人。 您可以用更少的资源,更少的时间,有时甚至是更少的技能(而不是更少的技能)来始终如一地&qu…- 1k
- 0
-
前端开发,如何优雅处理前端异常?
前端一直是距离用户最近的一层,随着产品的日益完善,我们会更加注重用户体验,而前端异常却如鲠在喉,甚是烦人。 一、为什么要处理异常? 异常是不可控的,会影响最终的呈现结果,但是我们有充分的理由去做这样的事情。 增强用户体验;远程定位问题;未雨绸缪,及早发现问题;无法复现问题,尤其是移动端,机型,系统都是问题;完善的前端方案,前端监控系统; 对于 JS 而言,我们面对的仅仅只是异常,异常的出现不会直接…- 922
- 0
-
前端Vue项目经验汇总
面显示 头部左右两边可以通过slot卡槽去处理底部导航显示与否可以通过路由里面的meta属性进行配置 返回上一级页面$router.back()$router:路由器对象,包含一些操作路由的功能函数,来实现编程式导航(路由跳转)$route:当前路由对象,一些当前路由信息数据的容器,path/meta/query/params 异步请求数据 axios请求数据封装 /* 封装请求函数 返回值:pr…- 1k
- 0
-
vue-cli3项目搭建配置以及性能优化
项目初始化 注意:安装前请确保有安装node.js,并且node>=8.9 全局安装vue npm install -g @vue/cli 如果之前安装了vue旧版本,查看vue --version 创建项目 vue create vue-cli3-init(项目名) 注:名称不能采用驼峰 vue-cli3也可以采用UI面板进行配置,相对比较方便,目前先写命令行创建,后续再加上面板创建。 …- 760
- 0
-
vue-cli3项目搭建配置以及性能优化
vue-cli3项目搭建配置以及性能优化 在之前的开发中主要用的是vue-cli2,最近空闲时间比较多,接下来有新项目,本着偷懒的本能,自己打算搭建一个基础包以备后期开发应用,并对其进行性能优化和配置 搭建整个过程如下: 初始化项目 修改目录结构 多环境运行 axios封装 模块化vuex 全局引用样式 移动端适配配置 常用util 引入第三方UI框架 配置vue.config.js文件 vue项…- 813
- 0
-
Node之父重构的Deno终于发布了,它终究会取代Node吗?
Node之父是谁? 没错!就是这个叫Ryan Dahl的男人在2009年创造了Node。你看,其实也不是说大神就都没头发,这位大神毛发不是挺旺盛的嘛! 不过既然是在2009年缔造的Node,那么就不得不吐槽那时候的JS了。在2009年的JavaScript啥样大家都知道(大家那时候入行了没),ES5.0(不成熟的ES5)在09年年底才刚刚发布,而ES5.1(咱们现在用的ES5)在2011年6月才开…- 1k
- 0
-
vue项目 调用百度地图 BMap is not defined
最近项目中使用百度地图: 研究了好一会,总是报错BMap is not defined 我只有一个页面需要用到地图,所以我是使用cdn引入的方式来写的,并没有像网上一些教程一样使用npm引入安装。 直接简单粗暴的根据百度地图api来写,虽然报错。那就解决报错的bug就行了。好了,下面开始说说步骤 在需要页面的处引入cdn: <script type="text/javascript…- 950
- 0
-
简单弄懂 JavaScript 执行机制
不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定的几行代码,我们需要知道其输出内容和顺序。因为javascript是一门单线程语言,所以我们可以得出结论: javascript是按照语句出现的顺序执行的 看到这里读者要打人了:我难道不知道js是一行一行执行的?还用你说?稍安勿躁,正因为js是一行一行执行的,所以我们以为js都是这样的: le…- 667
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!