啃犀牛书——数组
前言基础不牢地动山摇找不到工作吃不饱饭睡不好觉
JS数组数组是JS基础数据类型。
JS数组是值的有序集合,无类型限制
JS数组是动态的,按需增大缩小,最大索引值2^32-2
JS数组可以是稀疏的,不一定连续索引
JS数组是特殊的对象
JS数组从Array.prototype继承属性买这里面很多数组方法都是泛型(用于参数化类型)的,所以同样可以用于任何类数组对象。
1Array.prototype.__proto__ = Object.prototype // true
ES6增加一类新数组,统称为“定型函数”,固定长度、固定数组元素类型。(这种函数具有极高性能,且支持二进制数据字节级访问)
创建数组数组字面量1234let empty = []let a = 0let misc = [1,1, 'm', true, undefined, a+1]let ohno = [,,] // 这个长度是2!因为数组字面量语法允许末尾出现‘,’
new构造函数123let empty = new Array()let arr = new Array(10) // 定长 ...
JS——防抖和节流
重要概念-防抖和节流防抖和节流本质上是优化高频率执行代码的手段。
当浏览器resize/scroll/keypress/mousemove等事件触发时,会不断地调用回调函数,极大地浪费资源、降低前端性能。
↑为了优化体验,需要对此类事件调用次数进行合理限制,这时候我们就可以使用防抖、节流的手段减少调用频率。
防抖-debounce
频繁操作 => 最后一次操作 定时器
定义n秒后再执行该事件,如果在这期间被重复触发,那么重新计时。
栗子电梯等人
实现1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495// 简单实现function debounced(func, wait) { let timeout; // 声明一个变量用于保 ...
啃犀牛书——对象
前言基础不牢,地动山摇
JS对象对象介绍对象是一种复合值,汇聚多个值(原始值/其他对象)且允许按照名字存储这些值。
对象是一个 属性的无序集合,每个属性都有名字和值。对象把字符串映射为值(散列、散列表、字典、关联数组)。
对象除了可以维持自己的属性外,还能够从其他对象(原型)继承属性。
任何数、字符串、符号、布尔值、null、undefined的值都是对象。
JS对象是动态的,不过也可以利用对象模拟静态类型语言中的静态对象和结构体。
对象可修改,按引用操作完成(栈不同而堆同),而非按值操作。
对象属性: 自有属性, 继承属性
对象属性特性: writable可写(是否可设置) enumerable可枚举(是否可for/in遍历) configurable可配置(是否可删/修改)
对象的创建字面量这是创建对象的一个最为简单的方法:简单直接花括号↓
123456789101112let empty = {}let point = {x: 0, y: 0}let p1 = {x: -point.x, y: -point.y}le ...
前端工程化工具和框架的选型研究:以实践案例为基础
摘要:随着前端技术的不断发展和应用,前端工程化已经成为现代Web开发的一个必要组成部分。选择最适合项目的前端工程化工具和框架对于开发效率和代码质量的提升至关重要。本文以实践案例为基础,对常见的前端工程化工具和框架进行了比较和分析,并探讨了如何在实践中进行选择。
关键词:前端工程化,工具,框架,选型,实践案例
引言 随着Web应用的不断发展,前端技术的重要性日益凸显。传统的前端开发方式已经无法满足当前复杂Web应用的开发需求,因此前端工程化应运而生。前端工程化包括构建、打包、自动化测试、代码规范等一系列工作,可以提高代码质量、开发效率和团队协作效率。在实际的开发过程中,选择最适合项目的前端工程化工具和框架非常重要,可以避免不必要的时间和精力浪费。
本文以实践案例为基础,对常见的前端工程化工具和框架进行了比较和分析,并探讨了如何在实践中进行选择。首先,我们介绍了常见的前端工程化工具和框架,包括Webpack、Gulp、Grunt、Vue CLI、Create React App等。然后,我们根据实际的开发需求,从功能、易用性、性能等方面对这些工具 ...
规范自己
有思想
有定力
培养自己的思维
对事不对人
控制自己的不确定性
合理渠道发泄
敢于表达
合理接受
蒜法
二分查找704. 二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
示例 1:
输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:
输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1
提示:
你可以假设 nums 中的所有元素是不重复的。n 将在 [1, 10000]之间。nums 的每个元素都将在 [-9999, 9999]之间。
123456789101112131415161718function search(nums: number[], target: number): number { let left:number = 0 let right:number = nums.length - 1 while(left <= right ...
速通蓝桥杯Web
按照蓝桥题库里的标签分类,蓝桥web题型应该是这样子的↓不过身体状况不允许,我已无时间整理,留下这几个空标题,以后闲来无事把所有的题补上罢。请转至模拟题
CSS3ES6EChartsElementUIHTML5JSSeletor?
1document.querySelector()
JS函数封装Node.js接口怎么写?
12345678910111213141516const http = require('http')const app = http.createServer()const data = [……]app.on("request", function(req, res) { // UTF-8? res.setHeader("Content-type", "text/html;charset=utf8"); // 判断一下路径?以/news为例 if (req.url === '/news') { res ...
JQ速通
JQ速通速通背景
学Ajax的时候发现自己漏学了JQ
蓝桥杯web前端组第一个题就是JQ操作
速通内容document.ready123$(document).ready(function() { // 浏览器加载页面后,放入此func执行});
选择器selector多个元素可以用,分隔
标签选择器 $("button")
class选择器 $(".btn")
id选择器 $("#target1")
*, :first, :last, :eq(index), :gt(no), :lt(no), :not(selector), 还有很多↓
https://www.w3school.com.cn/jquery/jquery_ref_selectors.asp 去这里查
操作方法
添加类 .addClass("")
删除类 .removeClass("")
有则删,无则添 .toggleClass("")
更改元素CSS .css(&q ...
Ajax学习笔记
Ajax概述
介绍Ajax的基本概念和背景
解释Ajax的优势和用途
JavaScript基础
JavaScript语法和基本概念
JavaScript中的事件处理和DOM操作
JavaScript中的XMLHttpRequest对象
Ajax基本原理
Ajax的工作原理和基本流程
解释异步请求和服务器响应的概念
Ajax中的同源策略和跨域请求
Ajax的核心技术
使用JavaScript中的XMLHttpRequest对象发送异步请求
处理服务器响应数据,如文本、JSON和XML
使用Promise、回调函数和事件处理来处理异步请求和响应
Ajax的高级技术
使用Fetch API和Axios等现代Ajax库进行异步请求
处理Ajax请求和响应的错误和异常
使用跨域资源共享(CORS)来处理跨域请求
Ajax与其他Web技术的整合
结合Ajax和DOM操作来创建动态Web页面
使用Ajax与后端服务器进行数据交互,如获取和提交数据
使用Ajax实现单页应用(SPA)和前后端分离(前端框架、RESTful API等)
Ajax的性能优化 ...
SpringBoot学习笔记
SpringBoot大纲1. Java 基础知识在学习 Spring Boot 之前,需要对 Java 编程语言有一定的了解。包括 Java 的面向对象编程、集合框架、异常处理、IO 流、泛型、Lambda 表达式等等。
2. Spring 基础知识Spring 是一个强大的开源框架,它为 Java 开发人员提供了一种开发企业级应用程序的方式。在学习 Spring Boot 之前,需要掌握 Spring 的基本概念、核心组件(IOC、AOP、MVC等)、配置方式(XML、JavaConfig、Annotation)等。
3. Spring Boot 入门学习 Spring Boot 的第一步是了解它的基本概念、优点和用途。包括 Spring Boot 的起源、特点、与传统 Spring 框架的区别等。
4. Spring Boot 快速入门学习 Spring Boot 的最好方法是动手实践。可以使用 Spring Initializr 快速创建一个 Spring Boot 项目,并编写一些简单的示例代码。这些示例代码可以涉及常用的 Spring Boot 功能,例如:Web 开发、数据 ...