- 博客(20)
- 收藏
- 关注
原创 ES6实用运算符
概念: 可选链操作符 ( ?. ) 允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?. 操作符的功能类似于 . 链式操作符,不同之处在于,在引用为空 (nullish ) (null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值是 undefined。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined空值合并运算符 ??概念: 空值合并操作符(??)是一个逻辑操作符,当左侧的操作数为 null 或者 undefined 时,返回其
2022-07-01 14:34:20
298
原创 用户从输入url到显示页面的过程
一、DNS解析就是将域名解析成IP地址(优先走缓存)浏览器缓存本机缓存路由器缓存运营商缓存(移动联通电信等)递归查询(世界上仅有的13台根DNS服务器)二、TCP(协议)连接的三次握手浏览器发送给服务器服务器收到数据, 确认可以收到,并发送数据浏览器收到服务器返回信息,并发送数据相当于打电话浏览器:喂,能听到吗服务器:能听到,什么事浏览器:接着说事情三、发送请求(请求报文)四、得到响应(响应报文)五、浏览器解析html,开始渲染页面预解析,发送请求,加载所有
2021-07-27 16:59:57
170
原创 mongoose操作mogodb数据库
// 安装mongooes - yarn add mongooes// 引入mongooseconst mongoose = require("mongoose")mongoose.set('useCreateIndexes',true) // 使用新的索引器// 连接demo数据库 27017是mongodb默认端口mongoose.connection("mongodb://localhost:27017/demo",{ useNewUrlParse: true, //使用新的url解析器,
2021-07-27 15:00:42
157
原创 mongoDB学习笔记
一、MongoDB增删改查基础命令查询数据库show dbs使用test这个数据库,没有则会创建use test查询db.集合名.find(查询条件[,投影])db.集合名.findOne(查询条件[,投影])投影:过滤不需要的数据db.user.find({name:"n1"},{name:1,age:1;_id:0}) //查询name:1的数据,只保留name,和age//注意:投影中的条件除了_id,其他属性要保持全是1,或者全是0,不能混用// <,<=,&
2021-07-22 17:10:05
138
原创 yarn安装和使用以及切换源--
使用npm安装npm install -g yarn切换源查看当前源yarn config get registry切换为淘宝源yarn config set registry https://registry.npm.taobao.org切换为自带的yarn config set registry https://registry.yarnpkg.com
2021-07-22 14:15:51
1238
原创 vue3没有this , 如何使用router和vuex
//引入-创建-使用import { useStore } from 'vuex'import { useRoute, useRouter } from 'vue-router'export default { setup () { const store = useStore() const route = useRoute() const router = useRouter() function add () { store.commit('add')
2021-07-01 16:10:37
1083
原创 async、await 与 Promise 自己的理解
一、async函数返回的是Promise对象async function f1(){ return 1}async function f2(){ return Promise.resolve(2)}const result1 = f1()const result2 = f2()console.log(result1);console.log(result2);//f1虽然返回的是1,系统会自动给我们封装成一个promise对象给我们返回二、await相当于promise.then成
2021-06-28 16:55:24
211
转载 数组遍历方法
1.for循环使用临时变量,将长度缓存起来,避免重复获取数组长度,当数组较大时优化效果才会比较明显。for(j = 0,len=arr.length; j < len; j++) { }2.foreach循环遍历数组中的每一项,没有返回值,对原数组没有影响,不支持IE//1 没有返回值arr.forEach((item,index,array)=>{ //执行代码})//参数:value数组中的当前项, index当前项的索引, array原始数组;//数组
2021-01-13 13:57:06
448
原创 vscode无法运行cnpm
这里是引用报错:1、cnpm : 无法加载文件 C:\Users\oor\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。2、搜索PowerShell以管理员身份运行3、输入set-ExecutionPolicy RemoteSigned,选择Y 或者A ,就好了4、在Visual Studio Code中运行cnpm run serve又报错5、在电脑磁盘中找到node_modules文件夹,一定要删除干净。6、我们直接删除这个文件后,然后重新.
2020-11-25 18:24:11
1814
3
原创 js代理实现双向数据绑定
这个是text不绑定: <input type="text" v-model='text' /> <input type="text" v-model='title' /> <input type="text" v-model='title' /> <h4 v-bind="title">这里也会发生更新</h4>"use strict" function View(){ let proxy =
2020-07-06 10:46:08
234
原创 VS Code使用技巧
1.多行转一行mac: ctrl + J在 Ubuntu/Windows 上: 通过File> Preferences > Keyboard shortcuts打开快捷键的设置,并且绑定editor.action.joinLines你自己的快捷键。2.代码格式化在 Windows 上:Shift + Alt + F在 Mac 上:Shift + Option + F在 Ubuntu 上:Ctrl + Shift + I3.代码折叠折叠光标处未折叠的代码:在 Window
2020-05-25 18:12:02
198
原创 函数闭包理解
概念闭包函数:声明在一个函数中的函数,叫做闭包函数。闭包:内部函数总是可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数被返回(寿命终结)了之后。特点让外部访问函数内部变量成为可能;局部变量会常驻在内存中;可以避免使用全局变量,防止全局变量污染;会造成内存泄漏(有一块内存空间被长期占用,而不被释放)理解闭包自行代入这句话结论:闭包找到的是同一地址中父级函数中对应变量...
2020-03-25 17:42:13
400
原创 github高级搜索命令技巧
in:description/name/readme 爬虫 language:python fork:>1000 stars:>1000 pushed:>2019-02-01
2019-12-09 17:15:58
273
原创 tsc --init 系统禁止运行脚本报错解决方法
windows运行 (Windos PowerShell)打开命令行外壳程序输入:set-ExecutionPolicy RemoteSigned选择A即可,如下图:
2019-11-25 13:53:15
824
原创 原型链的简单理解
原型链有两个概念一直混肴初学者:prototype和_proto_prototype可以简单理解成是函数的一个内置属性(每个函数都会有)是一个指针,指向对象;_proto_是对象的内置属性,js内部可以利用它寻找原型链例子:var Person = function(){};var p = new Person();new一个对象的时候,会经历一下三个步骤:var p = {} ...
2019-11-05 15:23:50
178
原创 js数组去重方法
通过 Set+Array.fromarrDedupe = [1,2,5,4,1,2,5,1,5,1,1,8];function dedupe(arr) { return Array.from(new Set(arr))}console.log(dedupe(arrDedupe)) //[1, 2, 5, 4, 8]
2019-10-15 11:38:02
111
原创 ES6 - Class(类)
ES6引入Class类这个概念,类似java语言中的class类,通过class关键字,可以自定义;通过new关键字实例化,类的方法名可以采用表达式let methodName = 'getAdd';class Point { constructor(x,y){ this.x = x; this.y = y; } count() { return this.x*this.y...
2019-10-14 10:46:38
133
原创 判断Android、iOS或浏览器的多种方法
JS判断Android、iOS或浏览器的多种方法第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。第二种:检查是否是移动端(Mobile)、ipad、iphone、微信、QQ等。第三种:判断iPhone|iPad|iPod|iOS|Android客户端第四种:判断pc还是移动端第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Andr...
2019-09-06 15:17:10
1158
3
转载 移动端触屏滑动事件
移动端触屏滑动注意:案例:1.定义touchstart的事件处理函数,并绑定事件:2.定义手指在屏幕上移动的事件,定义touchmove函数。3.定义手指从屏幕上拿起的事件,定义touchend函数。移动端触屏滑动的效果其实就是图片轮播,在PC的页面上很好实现,绑定click和mouseover等事件来完成。但是在移动设备上,要实现这种轮播的效果,就需要用到核心的touch事件。处理touch事...
2019-08-02 09:35:53
608
原创 javascript高级程序设计学习笔记-表单脚本-文本框脚本
取得选择的文本function getSelectText(obj){ if (typeof obj.selectionStart == 'number') { return obj.value.substring(obj.selectionStart,obj.selectionEnd) }else if (document.selection) ...
2018-11-28 18:14:58
224
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人