大前端作业
shanghua2020
这个作者很懒,什么都没留下…
展开
-
大前端:练习题-开发脚手架及封装自动化构建工作流
一、简答题1、谈谈你对工程化的初步认识,结合你之前遇到过的问题说出三个以上工程化能够解决问题或者带来的价值。答案:工程化是根据业务特点,将前端开发流程规范化,标准化,它包括了开发流程,技术选型,代码规范,构建发布等,用于提升前端工程师的开发效率和代码质量。制定代码规范,开发流程规范代码可测试,单元测试,端到端测试等开发部署自动化文件自动编译打包,文件名随便生成解决了新版本上线缓存问题2、你认为脚手架除了为我们创建项目结构,还有什么更深的意义?减少重复性的工作,不需要复制其他项目再删除无原创 2020-09-07 10:31:14 · 298 阅读 · 0 评论 -
大前端:练习题-ES新特性与TypeScript、JS性能优化
一、请说出下列最终得执行结果,并解释为什么。var a = [];for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); };}a[5]();答案:10。因为for循环中的 i 用var来声明会提升变量,并且循环体内的函数并不是每次循环都会执行,只有当所有循环结束时才会执行,所以无论a数组中的哪个元素,执行结果都是10。二、请说出下列最终得执行结果,并解释为什么。var tmp = 123;if原创 2020-08-14 15:26:09 · 242 阅读 · 0 评论 -
大前端:练习题-理解JS异步编程、EventLoop、消息队列、宏任务、微任务
EventLoop事情循环,监听调用栈和消息队列。 当代码从上往下依次执行时,它们会依次压入调用栈。如果中间穿插了有异步代码,比如settimeout定时器。定时器在被压入栈的同时会开启一个倒计时。当栈内存中的函数执行完并且settimeout倒计时结束,settimeout的匿名函数会被消息队列。这时事件循环开始工作,它会监听到,消息列队中有数据,将消息队列中的第一个函数压入调用栈,执行该函数。消息队列可以看做等待执行任务的列表。调用栈负责执行任务,消息列表负责管理任务,让它们排好队。事情循环负责.原创 2020-07-17 11:54:33 · 285 阅读 · 0 评论 -
大前端:练习题-手写Promise
const { reject } = require('lodash');// 用常量定义三种状态,是因为有代码提示const PENDDING = 'pendding'; // 等待const FULFILLED = 'fulfilled'; // 成功const REJECTED = 'rejected'; // 失败class MyPromise { constructor(execute) { try { execute(this.resolve, this.reject)原创 2020-07-17 11:45:47 · 202 阅读 · 0 评论 -
大前端:练习题-用Promise实现下这代码
用Promise实现下这代码setTimeout(() => { let a = 'hello'; setTimeout(() => { let b = 'lagou'; setTimeout(() => { let c = 'love'; console.log(a + b + c); }, 10); }, 10);}, 10);解答:function myPromise(value) { let promise = new Promise((r原创 2020-07-17 11:28:59 · 211 阅读 · 0 评论 -
大前端:练习题-基于以下代码完成练习题
super.jsclass Container { static of(value) { return new Container(value); } constructor(value) { this._value = value; } map(fn) { return Container.of(fn(this._value)); }}class Maybe { static of(x) { return new Maybe(x); } isNothing() {原创 2020-07-17 11:38:59 · 290 阅读 · 0 评论