webpack学习
课程简介本门课需要的前置知识: ES6, 模块化, 包管理器, git 本门课程的讲解特点: 合适的深度: webpack 使用层面很简单,但原理层面非常复杂 合适的广度: webpack 生态圈极其繁荣,有海量的第三方库可以融入到 webpack 浏览器端的模块化问题: 效率问题: 精细的模块划分带来了更多的 JS 文件,更多的 JS 文件带来了更多的请求,降低了页面访问效率 兼容性问题: 浏览器目前仅支持 ES6 的模块化标准,并且还存在在兼容性问题 工具问题: 浏览器不支持 npm 下载的第三方包 这些仅仅是前端工程化的一个缩影 当开发一个就具有规模的程序,你将遇到非常多的非业务问题,这些问题包括:执行效率,兼容性,代码的可维护性和可扩展性,团队协作,测试等等。我们将这些问题称之为工程问题.工程问题于业务无关,但他深刻地影响到开发进度,如果没有一个好的工具解决这些问题,将使得开发进度变得极其缓慢,同时也让开发者陷入技术泥潭. 根本原因思考:上面提到的问题,为什么在 node 端没有那么明显,反而到了浏览器端变得如此严重呢? 答:在 node 端,运行的 JS...
浏览器
...
ES6
概述 ECMAScript, JavaScript, NodeJS, 它们的区别是什么? ECMAScript:简称ES,是一个语言标准(循环,判断,变量,数组等数据类型) JavaScript: 运行再浏览器端的语言,该语言使用ES标准.ES + Web api = JavaScript Nodejs: 运行在服务器端的语言,该语言使用ES标准. ES + node api = JavaScript 无论JavaScript,还是Nodejs,它们都是ES的超集 ECMAScript有哪些关键版本 ES3.0: 1993 ES5.0: 2009 ES6.0: 2015, 从该版本之后,不再使用数字作为编号,而使用年份,每年发布一个新版本 ES7.0: 2016 为什么ES6如此重要 ES6解决了JS无法开发大型应用的语言层面的问题. 如何应对兼容性问题 之后的课程会介绍如何解决 学习本课程需要哪些前置知识 HTML, CSS, JavaScript 这套课程难不难? 块级绑定使用var声明变量 允许重复声明导致数据被覆盖 12345678910var a =...
随笔小记
JS关于矩阵的创建今天做了一个 leetcode 的 59 螺旋矩阵题目,该题在最开始需要创建一个矩阵。GPT 给的方式如下 1const matrix = Array.from({ length: n }, () => Array(n).fill(0)); 这个代码片段使用了 ES6 的 Array.from()方法,该方法接受一个可迭代对象(通常是一个类数组对象)作为参数,并返回一个新数组。其中第二个参数是一个映射函数,用于将每个元素映射到新数组中的元素。 这个代码片段中,{ length: n }是一个对象,它表示创建一个长度为 n 的数组。然后,Array(n)是一个数组,它表示创建一个包含 n 个 0 的数组。最后,fill(0)是一个数组方法,它将数组中的每个元素设置为 0。 我过去创建矩阵通常使用如下方法 1const matrix = new Array(n).fill(0).map(() => new Array(n).fill(0)); 这个代码片段首先创建了一个长度为 n 的数组,每个元素都被设置为 0。然后,它使用...
OPPO23秋
考情分析真题地址 题目解析1.下述代码的执行结果为12345678910111213141516let obj1 = { name: '张三', getName() { return this.name; },};let obj2 = { name: '李四', getName() { return super.getName(); },};Object.setPrototypeOf(obj2, obj1);console.log(obj2.getName()); A. undefined B. “张三” C. “李四” D. null 正确答案 C 考点:super关键字,...