随笔分类 - javascript
摘要:CSRF(Cross-site request forgery):跨站请求伪造 攻击原理 要完成一次CSRF攻击,受害者必须满足两个必要的条件 登录受信任网站A,并在本地生成Cookie。(如果用户没有登录网站A,那么网站B在诱导的时候,请求网站A的api接口时,会提示你登录) 在不登出A的情况下,
阅读全文
摘要:虽然JavaScript本身很棒,但有它对应生态圈也很重要,这些圈会让 js 更好。开发人员在开始一个新的中等项目时经常喜欢重新写轮子,这是一个糟糕的策略,使用第三方库是有意义的。因为这样的库有明确的用途,有更长生成的迭代,如果遇到问题更容易找到解决方法,最主要的一点是提高开发效率,缩短开发周期。
阅读全文
摘要:JavaScript语言的执行环境是单线程(single thread),就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。 这种模式的好处是实现起来比较简单,执行环境相对单纯;但是只要耗时比较多,假如有一个任务耗时很长,后面的任务都必须排队等着
阅读全文
摘要:Nodejs 诞生于 2009 年,由于它使用了 JavaScript ,在这些年里获得了非常广泛的流行。它是一个用于编写服务器端应用程序的 JavaScript 运行时,但是 "它就是JavaScript" 这句话并不是 100% 正确的。 JavaScript 是单线程的,它不是被设计用来实现要
阅读全文
摘要:如下代码 const request = function(){ let num = Math.round(Math.random()*100)/100; console.log(num); setTimeout(function(){ if(num < 0.5){ return('1234567'
阅读全文
摘要:前言 在一般的代码中很少会接触到进制和位运算,但这不代表我们可以不去学习它。作为一位编程人员,这些都是基础知识。如果你没有学过这方面的知识,也不要慌,接下来的知识并不会很难。本文你将会学习到: 进制转换 按位操作符 JavaScript进制转换 手动实现进制转换 进制转换 以下使用常见的十进制和二进
阅读全文
摘要:匹配正则 使用 .test() 方法 let testString = "My test string";let testRegex = /string/;testRegex.test(testString); 匹配多个模式 使用操作符号 | const regex = /yes|no|maybe/
阅读全文
摘要:JavaScript语言中的条件语句,除了if 语句,还有switch 语句。switch 常用于根据不同的条件执行不同的操作。虽然它和 if 语句都是用来判断条件的语句,但是它们之间还是有不同。 switch的语法 语法如下所示: switch(expression) { case 变量x: //
阅读全文
摘要:Node.js已成为构建可伸缩Web应用程序的首选技术。由于它提供了许多重要的好处,因此在开发人员中获得了极大的欢迎。 根据Stack Overflow的2020 开发人员调查显示,在一个热情的社区的支持下,node.js一直是最流行的Web框架, 拥有 51.9%的股份。 展望上升趋势,我们揭穿了
阅读全文
摘要:在日常应用场景中,可能会遇到这么一个情况,需要判断用户是否完整的观看完了一部视频,在这个场景中,和视频相关的事件大体涉及到几个部分,获取视频长度,视频开始播放,暂停播放和播放结束,下面来看下如何通过JavaScript来监听获取视频的这几种状态。 (1)html页面视频标签大体如下 <video i
阅读全文
摘要:数组 Array 数组去重 方案一:Set + ... function noRepeat(arr) { return [...new Set(arr)]; } noRepeat([1,2,3,1,2,3]) 方案二:Set + Array.from function noRepeat(arr) {
阅读全文
摘要:摘要 axios是一个基于promise的HTTP库,可以用于浏览器中进行AJAX请求处理。在项目中,为了实现通用性,封装了一个axios请求。 axios封装 1、配置环境变量 // 根据不同环境变量选择不同的接口服务器域名export const BASE_URL = process.env.r
阅读全文
摘要:定义 reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 reduce() 对于空数组是不会执行回调函数的。 语法 [2,5,8,6].reduce(function(prev,next,item,arr){ ... },init); prev 表示
阅读全文
摘要:前言 在 JavaScript 的学习过程中,我们可能或多或少地接触过高阶函数。那么,我们自己对此是否有一个明确的定义,或者说很熟练的掌握这些用法呢 如果文章中有出现纰漏、错误之处,还请看到的小伙伴多多指教,先行谢过 以下↓ 简单来说,高阶函数是一个函数,它接收函数作为参数或将函数作为输出返回 看到
阅读全文
摘要:JavaScript 是一种易于学习的编程语言,编写运行并执行某些操作的程序很容易。然而,要编写一段干净的JavaScript 代码是很困难的。 在本文中,我们将研究如何让我们的函数更清晰明了。 对对象参数使用解构 如果我们希望函数接收很多参数,那么应该使用对象。在此基础上,我们就可以使用解构语法提
阅读全文

浙公网安备 33010602011771号