自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 函数的高级应用:闭包

闭包的官方定义:函数内部的函数 说起闭包,首先要了解函数: 函数的两个步骤: 1.函数的定义; 1-1. 再堆里面开辟一个空间. 1-2. 把函数体内的所有代码当作字符串存储在这个空间中. 1-3. 把空间地址赋值给栈里面的变量(函数名) 函数的调用. 2.函数的调用: 2-1. 按照存储的地址找到 函数存储空间 2-2. 在 调用栈(不是栈内存) 里面再次开辟一个 函数执行空间 2-3. 在函数执行空间内进行 形参赋值 2-4. 在函数执行空间内进行 预解析 2-5. 把 函数存储空间 的代码复制一份拿到

2020-08-31 16:11:20 215

原创 前端老生常谈之---从输入 URL 到页面加载完成,发生了什么?

从输入 URL 到页面加载完成,发生了什么? 我们现在站在性能优化的角度,一起简单地复习一遍这个经典的过程: 首先我们需要通过 DNS(域名解析系统)将 URL 解析为对应的 IP 地址, 然后与这个 IP 地址确定的那台服务器建立起 TCP 网络连接,随后我们向服务端抛出我们的 HTTP 请求,服务端处理完我们的请求之后,把目标数据放在 HTTP 响应里返回给客户端, 拿到响应数据的浏览器就可以开始走一个渲染的流程。 渲染完毕,页面便呈现给了用户,并时刻等待响应用户的操作。 我们将这个过程切分为如下的过程

2020-10-12 08:17:24 178

原创 web前端解决跨域的几种办法?

一.什么是跨域 一个域名地址的组成: 当 传输协议 域名 端口号中任意一个不相同时,都算作不同域.不同域之间相互请求资源,叫做"跨域" 注:跨域并不是请求发不出去,请求能发出去,服务端能收到请求并正常返回结果,只是被浏览器拦截了.之所以会跨域,是受到了同源策略的影响. 二.什么是同源策略 同源策略/SOP(Same origin policy)是一种约定(浏览器给的一种行为)由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,所谓同源是指"协议+域名+端口"三者相同,即便两个不同

2020-09-15 08:20:36 369 1

原创 函数的防抖与节流

函数防抖: 在一个时间节点内,多次触发同一事件,不需要每一次都执行,只需要在一个固定时间内,没有重复操作的时候. 举一个例子:滚动条事件 在我一直快速滚动的时候,不需要一直触发,等到我的滚动结束了,停下来以后在触发. 实现: 准备一个定时器,把你要做的事情放在定时器里面做, 当在300ms内做同一个行为的时候,把定时器关闭掉,只有当你停下来的一瞬间,不会在继续关闭定时器的时候,才会触发事件. var timer = null window.scroll = function(){ c

2020-09-01 16:04:10 321 1

原创 函数的柯里化

函数柯里化 一种函数的封装形式 把一个函数的两个参数拆开成为两个函数, 每个函数一个参数 => 多个参数的时候 => 把第一个参数单独提取出来 <script type="module"> // import reg from './reg.js' // // 当你要验证用户名的时候 // const res = reg.testName('guoxiang') // console.log(res) import { testPwd }

2020-08-31 21:21:28 141

原创 闭包的语法糖

语法糖: 使用起来很方便,但看起来不舒服. 闭包的语法糖:getter 获取器 和 setter 设置器 **作用:**把制作闭包想做的事情,伪装成一个对象内部的成员. 语法: 要形成闭包 返回值是一个对象 在对象里面以getter 和 setter的语法形式返回函数 { get 函数名(){}, set 函数名(){} } function fn() { var num = 100 return { getNum () { return

2020-08-31 19:54:27 305

原创 闭包的应用--沙箱模式

沙箱模式: 设计模式的一种 为了解决特定问题给出的简洁而优化的解决方案. 主要解决变量私有化以后的访问和操作. 使用:利用闭包,把所有的函数或者属性都放在一个函数内部. function fn() { var num = 100 var str = 'hello world' function inner1() { console.log('我是 inner1 函数') } // 间接返回一个函数 return {

2020-08-31 19:37:27 290

原创 json 数据格式

json 格式 + 是什么 ? => 是一种固定的字符串格式 => ‘asdasdasdasd’ 普通字符串 => ‘1231654781332’ 纯数字字符串 => hello world html 格式字符串 => json 也是一种字符串的格式, 和普通字符串本质上没有区别 -> 只是多了一些固定格式 + 干啥用 ? => 再电脑网络传输的过程中 => 只能传递字符串, 别的不好使 => 传递不了对象和数组数据类型 => 如果你想传递数

2020-08-29 08:54:58 121

原创 JavaScript排序之冒泡排序

冒泡排序 + 为什么学冒泡排序 => 为了锻炼逻辑思维 => 不是为了让你上班用的 + 把一个乱序的数组按照一定的算法结构排序好 => 准备一个数组 => var arr = [9, 2, 6, 4, 3, 8, 5, 7, 1] + 口诀 双层 for 循环, 一层减一次 里层减外层, 变量相交换 1. 学会交换数组里面两个数据的位置 => 假设 [0] 和 [1] 位置的数据交换 2. 先遍历循环数组 => 让前一个数字和后一个数字比较

2020-08-29 08:48:57 88

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除