this的指向问题
this的指向问题1.全局执行环境1.1非严格模式 为window1console.log(this)
1.2严格模式 为window12 'use strict'console.log(this)
2.直接调用2.1非严格模式 为window1234function func() { console.log(this);}func()
2.2严格模式 为undefind12345function func() {'use strict' console.log(this)}func()
3.对象调用3.1非严格模式 为调用的对象1234567const food = { name:'小面', eat() { console.log(this) }}food.eat()
3.2严格模式 为调用的对象12345678const food = { name:'小面', eat() { ...
JavaScript中split() 方法
大白话,主要用来字符串转数组
split() 方法是一个非常有用的字符串方法,它用于将字符串分割成子字符串数组,然后返回这个新的数组。
直接上例子:
基本分割:用特定字符分割字符串。
123var str = "apple,banana,orange";var fruits = str.split(','); // fruits 的值为 ["apple", "banana", "orange"]
使用空字符串分割:将每个字符分开。
123var str = "hello";var chars = str.split(''); // chars 的值为 ["h", "e", "l", "l", "o"]
使用正则表达式分割:根据匹配的正则表达式来分割字符串。
123var str = "The quick brown fox jumps ...
javascript之数组的各种操作
javascript之数组的各种操作1.forEach
用途:用于遍历数组的每个元素,不会修改原始数组
123const array1 = ['a', 'b', 'c'];array1.forEach(element => console.log(element));// 输出: "a" "b" "c"
2.slice
用途:返回数组的一部分,不会修改原始数组。
即数组切片
1234567const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];// 从数组索引2开始到数组结束(包含结束的元素)// 输出: ["camel", "duck", "elephant"] console.log(animals.slice(2));//从数组索 ...
Git常用命令
常用的一些 Git 命令如下:
git init: 初始化一个新的 Git 仓库。
git clone [仓库地址]: 克隆一个远程 Git 仓库到本地。
git add [文件名]: 将文件添加到暂存区,准备提交。
git commit -m “[提交消息]”: 提交暂存区的文件到本地仓库,附带一条提交消息。
git status: 查看工作区、暂存区和本地仓库的状态。
git log: 查看提交历史记录。
git branch: 查看本地分支列表。
git checkout [分支名]: 切换到指定分支。
git checkout -b [新分支名]: 创建并切换到新的分支。
git merge [指定分支名]: 合并指定分支到当前分支。
git pull: 从远程仓库拉取最新的代码。
git push: 推送本地代码到远程仓库。
git remote -v: 查看远程仓库列表和地址。
git reset [文件名]: 从暂存区移除指定文件,但保留在工作区。
git reset –hard [提交哈希]: 将仓库回滚到指定的提交。
git stash: 将当前未提交的修改暂存起来 ...
vscode常用快捷键
一、同时重命名多个同名变量1、按ctrl+f,可以搜索当前页面,然后按搜索框左边的小三角符号,可以切换成替换模式。有时候使用字符串替换,比多光标方便,但是注意别不小心替换掉不想替换的内容。
2、首先看看自己需要同时修改多处的代码是不是要重命名一个变量,如果是的话,有现成的快捷键f2。选中一个变量,按f2,弹出一个小窗口,在里面输入内容后按回车,所有该变量都会被重命名。(PS:但是要注意,在js文件中,如果这个变量没有用var或者const或者let声明,会无法重命名。)
二、多光标1、按住alt,用鼠标左键点击,可以出现多个光标,输入的代码可以在光标处同时增加。
2、按shift+alt,再使用鼠标拖动,可以出现竖直的列光标,同时可以选中多列。
3、按住Ctrl + Alt,再按键盘上向上或者向下的键,可以使一列上出现多个光标。
4、选中一段文字,按shift+alt+i,可以在每行末尾出现光标
5、光标放在一个地方,按ctrl+shift+L或者ctrl+f2,可以在页面中出现这个词的不同地方都出现光标。有时候这个快捷键的作用和f2重命名变量类似,但是它更加广泛,因为还可以对比如字符 ...
前端之模块的导入导出方法
1、commonJs标准导出:module.exports = {}
导入: require(‘模块名或路径’)
模块名或路径: ✓ 内置模块:直接写名字(例如:fs,path,http)
✓ 自定义模块:写模块文件路径(例如:./utils.js)
2、ECMAScript标准(1)默认标准使用导出:export default{}
导入: import 变量名 from ‘模块名或路径’
(2)命名标准使用:导出: export 修饰定义语句 例如 export const baseURL = ‘http://www.damaomao.net‘
导入: import {同名变量} from ‘模块名或路径’
如何选择?
按需加载,使用命名导出和导入
全部加载,使用默认导出和导入
节流防抖
1、节流形象比喻为王者荣耀技能键,点击多次只能第一次点击有效要等cd冷却后才能继续使用,跟排队一个道理(既有多次点击事件只执行第一次点击事件)
开发使用场景
假如一张轮播图完成切换需要300ms, 不加节流效果,快速点击,则嗖嗖嗖的切换 ,加上节流效果, 不管快速点击多少次, 300ms时间内,只能切换一张图片。
2、防抖形象比喻为王者荣耀回城,打断了又重新计算回城秒数(既执行最后一次)
开发使用场景
搜索框防抖假设输入就可以发送请求,但是不能每次输入都去发送请求,输入比较快发送请求会比较多我们设定一个时间,假如300ms, 当输入第一个字符时候,300ms后发送请求,但是在200ms的时候又输入了一个字符, 则需要再等300ms 后发送请求
同源策略
这个错误是因为浏览器实施了同源策略 (Same-Origin Policy),它默认情况下不允许网页从一个源(origin)的页面请求另一个源的资源。在您的情况下,您的网页位于http://127.0.0.1:5500,而您尝试从该网页访问http://localhost:8001/api/province,这两者的源是不同的,因此浏览器阻止了该请求。
要解决这个问题,您需要在服务器端配置跨源资源共享 (CORS) 头,以允许特定源(如http://127.0.0.1:5500)访问您的API。在服务器端添加适当的响应头后,浏览器将允许跨源请求。
在您的服务器代码中,您需要设置响应头,以包括Access-Control-Allow-Origin头字段,并将其值设置为允许访问的源,如下所示:
1234567891011121314151617181920const express = require('express');const app = express();// 允许所有源访问,也可以指定特定的源app.use((req, res, next) => & ...
Typora使用方法
一级标题 command1二 command2三 command3四command4五 command5六 command6用command +/-提升标题 降级标题
用command/查看markdown源代码
command0正文
加粗 commandB
倾斜 commandi
下划线commandu
高亮command+shift+h
上标 cm^3^ 要上标的符号前后加^
下标H2O 要上标的符号前后加~
无序列表前的小圆点 option+command+u
或 -加空格 +加空格 *加空格
无序列表下一级 TAB键 或 command] 返回上一级用command[
有序列表 option+command+o
待办事项 option+command+x
行内代码 int 整型 前后加``
代码块option+command+c
1234#p { width: 50px height:50px}
Latex公式 $$
公式块option+command+b$$a+b= ...