![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
javascript高级程序设计
这本前端圣经里似乎都是知识点,在这里将其细化一下,更直观,也更方便
南朝听月
A ship in harbor is safe, but that is not what ships are built for.
展开
-
async 和定时任务如何进行时序控制;setInterval;async
async 和定时任务如何进行时序控制;setInterval;async原创 2024-05-21 14:24:18 · 196 阅读 · 0 评论 -
this的指向问题
温习一下以下写法:在哪调用this指向的就是谁。原创 2024-05-18 21:49:08 · 101 阅读 · 0 评论 -
js里的可迭代对象;for of;iterator;迭代协议
3、接着往下循环,++为2,false,打印原始值2 4、接着往下循环,++为3,true,不打印了。场景1、可迭代对象离不开: for of, for of 就是专门为了循环可迭代对象。场景3、vue中如果某个数组数据变化,有用到for of的地方是不是得重新执行?2、正式开始"循环"读,进到next里,++为1,false。2、一个对象是否可迭代,取决于该对象或者该对象的原型上是否实现了。下面的代码,可以放到vscode中断点一下,理解一下过程。场景2、js中数组就是一个可迭代对象。原创 2024-05-18 18:08:14 · 197 阅读 · 0 评论 -
js代码中关于async await的滥用 async await的滥用
js代码中关于async await的滥用 async await的滥用原创 2024-05-10 19:12:57 · 234 阅读 · 0 评论 -
函数的返回
如下:原创 2024-02-02 22:00:57 · 111 阅读 · 0 评论 -
如何另外“打开”浏览器进行某个页面的访问,window.open()
如何另外“打开”浏览器进行某个页面的访问,window.open()原创 2023-07-27 23:45:00 · 246 阅读 · 0 评论 -
你真的会用async和await么?
你真的会用async和await么?原创 2023-07-19 20:14:21 · 1024 阅读 · 0 评论 -
利用闭包实现一个单例,闭包,单例模式,单例
利用闭包实现一个单例,闭包,单例原创 2023-03-06 20:49:50 · 211 阅读 · 0 评论 -
h5内嵌app,h5图片不展示,crossOrigin=“anonymous“
h5内嵌app,h5图片不展示,crossOrigin="anonymous"原创 2023-02-28 20:26:52 · 801 阅读 · 0 评论 -
js获取时区偏移量,按照服务端时间解析(别基于客户端时区进行转换)
js获取时区偏移量,按照服务端时间解析(别基于客户端时区进行转换)原创 2023-02-21 21:16:32 · 968 阅读 · 0 评论 -
web上传文件需要在代码层面进行类型校验
web上传文件需要在代码层面进行类型校验原创 2022-11-04 11:53:07 · 179 阅读 · 0 评论 -
web需要从文件中读取内容,将内容进行加密上传
web需要从文件中读取内容,将内容进行加密上传原创 2022-11-04 11:28:22 · 526 阅读 · 0 评论 -
console.time和console.timeEnd用法;性能问题如何去定位?怎样可以知道某个代码片段运行了多长时间?
console.time和console.timeEnd用法性能问题如何去定位怎样可以知道某个代码片段运行了多长时间原创 2022-11-03 10:29:17 · 527 阅读 · 0 评论 -
对象的一些方法,Object的一些方法总结;js 判断对象是否为空
Object.assignObject.keysObject.getOwnPropertyNames原创 2022-10-26 10:38:07 · 425 阅读 · 0 评论 -
try catch 一般搭配的是async await 但是当awiat不会返回数据的时候,也是可以用.then的
try catch 一般搭配的是async await 但是当awiat不会返回数据的时候,也是可以用.then的原创 2022-10-20 10:29:40 · 286 阅读 · 0 评论 -
避免多层的if嵌套
避免多层的if嵌套原创 2022-10-20 10:04:35 · 598 阅读 · 0 评论 -
在事件中嵌套事件时return的作用
在事件中嵌套事件时return的作用原创 2022-04-14 19:11:04 · 847 阅读 · 0 评论 -
常用的一些正则法则
常用的一些正则法则原创 2022-04-14 18:49:57 · 259 阅读 · 0 评论 -
try...catch和 await的用法
try...catch和 await的用法原创 2022-03-09 09:23:56 · 2948 阅读 · 0 评论 -
谈一谈javaScript中的addEventListener函数,谈一谈dom中的事件流
谈一谈javaScript中的addEventListener函数,谈一谈dom中的事件流原创 2022-02-09 10:58:58 · 1333 阅读 · 0 评论 -
在函数中声明的变量
javascript语言中,在函数中声明的变量在函数执行进行一创建,当函数执行完毕的时候就会被销毁掉。<script> function getName () { var name = "凡夫俗子"; console.log("函数体访问",name) } getName() ert(name) </script>变量name是在函数中使用var定义的。当函数被原创 2021-03-26 13:08:37 · 955 阅读 · 0 评论 -
if语句中什么时候可以省略大括号?
有大括号的时候大括号里面所有的 都归if管。只有条件为真的时候 才会执行。没有大括号的时候 只有下面的 一句 归if管,也就是说 当只有一句的时候 大括号可以省略 其它的 没区别//注意观察此代码中的if语句 login() { this.$refs.loginFromRef.validate(async (valid) => { //登录前的一个预验证 // console.log(valid) if (!valid) retur原创 2021-03-10 10:13:49 · 5954 阅读 · 0 评论 -
axios中then回调对返回数据赋值是是一个简单的浅拷贝造成的误解
原因: 此时是因为你第一次clone的时候没有输对密码,而git又记录下了这个不正确的密码。所以此时需要: 在Git上清除本地账号密码/保存账号密码解决方案: git中执行以下命令,然后再次进行克隆即可: git config --global credential.helper wincred git credential-manager uninstall...原创 2021-02-06 19:50:35 · 2071 阅读 · 0 评论 -
javascript中的浅拷贝和深拷贝的多种实现
javascript中的浅拷贝和深拷贝的多种实现浅拷贝深拷贝的通俗理解浅拷贝:拷贝对象使用for in循环使用 assign 方法实现使用扩展运算符实现使用JSON实现浅拷贝:拷贝数组使用for in循环使用扩展运算符实现使用slice或concat实现(两个方法写到一个里面了)深拷贝:拷贝对象或者数组(无论数组和对象中又嵌套了什么复杂类型也是可以实现的)使用constructor判断使用Object.prototypy.toString.call()判断使用Array.isArray()判断深拷贝的思路总原创 2020-11-12 18:02:32 · 743 阅读 · 3 评论 -
js中||和&&的三层理解
||与&&用法的三层境界,你属于哪一种?1、简单的布尔值判断 true||false2、表达式转换为布尔值进行一个判断 var a = 1; var b = 2; a1 || b33、短路运算符原创 2021-03-21 17:42:50 · 227 阅读 · 0 评论 -
javascript语句和表达式的区别
表达式:表达式是值、变量和运算符的组合一个表达式可以产生一个值,有可能是运算、函数的调用、有可能是字面量。表达式可以放在任何需要值的地方。算数表达式:1+2包含变量的表达式:x + 2赋值表达式: x=2逻辑表达式: 5>2三元表达式: 5>2 ? true:false语句:JavaScript语句由以下构成: 值、运算符、表达式、关键字和变量名。这5项不是必须同时存在。大多数JavaScript程序都包含许多JavaScript语句。这些语句会按照它们被编写的顺序逐一执行原创 2021-03-03 14:57:10 · 535 阅读 · 1 评论 -
input = file 实现上传文件
input = file 实现上传文件原创 2022-01-20 17:12:22 · 311 阅读 · 0 评论 -
后台返回的数值太大,js中数字太大导致的bug
后台返回的数值太大原创 2022-01-19 10:52:56 · 1144 阅读 · 0 评论 -
for,for in,forEach,for of,详解,一篇讲解所有的for关键字循环
for,for in,forEach,for of,详解,一篇讲解所有的for关键字循环原创 2022-01-12 21:59:02 · 392 阅读 · 0 评论 -
出现undefined的几种情况
出现undefined的几种情况原创 2022-01-04 16:19:51 · 8181 阅读 · 0 评论 -
阻止a连接的默认行为
阻止a连接的默认行为原创 2021-12-28 23:24:59 · 1331 阅读 · 0 评论 -
axios以简写的形式发送post请求
axios以简写的形式发送post请求原创 2021-12-04 22:52:35 · 507 阅读 · 0 评论 -
简单易懂的宏任务和微任务执行顺序
背景很多朋友在写面试题:宏任务与微任务的执行时机时,容易犯迷糊。之前我也写过两篇文章,这次加上详细的讲解,让大家更容易理解。什么是宏任务、微任务?1、首先要称得上是宏任务、微任务的,必须是一个回调函数,例如: setTimeout(getList,5000);这个getList就是一个回调函数2、必须是异步执行的回调函数3、区分宏任务与微任务宏任务渲染事件(如解析 DOM、计算布局、绘制);用户交互事件(如鼠标点击、滚动页面、放大缩小等);JavaScript 脚本执行事件;网络请原创 2021-10-12 10:33:24 · 1575 阅读 · 0 评论 -
async,await如果用不到请求返回的结果左侧其实就不用写赋值或者写解构语法了、axios
logout = ()=> { Modal.alert('提示', '是否确定退出?', [ { text: '取消'}, { text: '退出', onPress: async() => { await API.post('/user/logout', null,{ headers: { authorization: getToken() } }) } ..原创 2021-12-01 10:57:11 · 2291 阅读 · 0 评论 -
axios以简写的形式发送get,post请求
1、post请求,第二个是参数项,没有的话,就直接写个null就行了,然后第三个参数配置请求头之类的 const res = await API.post('/user/logout', null,{ headers: { authorization: getToken() } })logout = ()=> { Modal.alert('提示', '是否确定退出?', [ { text: '取原创 2021-12-01 10:52:46 · 2381 阅读 · 0 评论 -
浏览器新开一个窗口、window.open、window.location.href
1、window.openwindow.open('www.techbrood.com','_blank'); // 这个功能与下面的是等效的<a href="www.techbrood.com" target='_blank'>Link</a> 2、window.location.href// 这个直接就是没有新开窗口,直接在原有的窗口覆盖了一下 window.location.href = 'https://szjsc.citybrain.hangzhou.gov原创 2021-10-25 14:26:51 · 1513 阅读 · 0 评论 -
遍历对象和遍历数组的不同
对象是没有顺序的,遍历时候顺序是不固定的数组是有顺序的,遍历的时候顺序是固定的原创 2021-10-09 14:52:38 · 174 阅读 · 0 评论 -
获取函数剩余参数
es6语法const arguments = [1,5,6,8,9,10];const [context, ...rest] = arguments;console.log(context) // 1console.log(rest) // [ 5, 6, 8, 9, 10 ]巧用数组的shift方法function fn (a,b,c,d) { let firstArguments = Array.prototype.shift.call(arguments) console.l原创 2021-09-26 14:10:20 · 200 阅读 · 0 评论 -
this、apply、call、bind
非常好的一排文章跳转链接this指向问题,手写bind,apply,call原创 2021-09-26 17:49:17 · 73 阅读 · 0 评论 -
Array.prototype.slice.call(arguments)、Array.prototype.shift.call(arguments)
Array.prototype.slice(begin, end)作用:slice() 方法返回一个新的数组,由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。但今天的主题不是它。而是Array.prototype.slice.call(arguments)Array.prototype.slice.call(arguments)作用: 它的作用是把对象/集合转换成数组例子1: <div></div>原创 2021-09-26 10:42:07 · 225 阅读 · 0 评论