1. 字符消除游戏

    ```js

    2022/04/12 Examintion

  2. XSS攻击与CSRF攻击

    2022/04/08 JavaScript

  3. Mac如何连接阿里云

    ssh root@服务器ip地址 -p端口 回车即可,-p可以不填,表示默认端口 ```bash ssh root@1.1.1.1

    2022/03/27 Java

  4. 两行样式解决垂直居中问题

    基本数据类型 | 类型 | 长度(位/bit) | 长度(字节/bite) | 默认值 | 表示范围 | | — | ———- | ————– | —– | —— | | byte | 8位 | 1字节 | 0 | -128~127 (-2^7~2^7-1) | | short | 16位 | 2字节 | 0 | -32768~32767 (-2^15~2^15-1) | | int | 32位 | 4字节 | 0 | -2,147,483,648~2,147,483,648(-2^31~2^31-1) | | long | 64位 | 8字节 | 0L | -9,223,372,036,854,775,808~9,223,372,036,854,775,808 (-2^63 ~ 2^63-1) | | float | 32位 | 4字节 | 0.0f | -3.403E38~3.403E38 | | double| 64位 | 8字节 | 0.0d | -1.798E308~1.798E308 | | char | 16位 | 2字节 | ‘‘空字符(\u0000) | 表示一个字符:’a’、’A’、’0’、’中’| | boolean| 8位 | 1字节 | false | 只有两个值true和false |

    2022/03/25 Java

  5. 两行样式解决垂直居中问题

    方法 父容器display: flex; 目标容器margin: auto;

    2022/03/25 CSS

  6. 计算最长字符串长度

    // 获取最长数字字符串长度,当他们相差大于1的时候为新一个字符串 // 134 6 4 7877789 let aStr = "15" function getLongStr(str){ let count = 0 let strCount = 0 if(str.length<2) { return str.length } let strLength = str.length for(let x=0; x < strLength-1; x++) { let a = Number(str[x]) let b = Number(str[x+1]) let c = a > b ? a - b : b - a strCount += 1 count = count > strCount ? count : strCount if(c > 1){ strCount = 0 } } return count } console.log(getLongStr(aStr))

    2022/03/24 Examintion

  7. 用JS文件批量下载文件

    ```js const downFileArray = document.getElementsByClassName(“class-name”) let index = 0 let timer = setInterval(()=>{ if(index < downFileArray.length){ let link = downFileArray[index] link.click() link +=1 }else{ clearInterval(timer) }

    2022/03/17 JavaScript

  8. 谈一下你响应式数据的理解

    理解 核心点: Object.defineProperty 默认 Vue 在初始化数据时,会给 data 中的属性使用 Object.defineProperty 重新定义所有属性,当页面取到对应属性时。会进行依赖收集(收集当前组件的watcher) 如果属性发生变化会通知相关依赖进行更新操作。 过程 initData: 初始化用户传入的data中的数据 new Obsever:将数据进行观测 this.walk(value):进行对象的处理 defineReactive:循环对象属性定义响应式变化 Object.defineProperty:重新定义数据

    2022/03/08 JavaScript

  9. 谈一下你对MVC和MVVM原理的理解

    两者的理解 传统的 MVC 指的是,用户操作会请求服务端路由,路由会调用对应的控制器来处理,控制器会获取数据。将结果返回给前端,页面重新渲染 MVVM :传统的前端会将数据手动渲染到页面上, MVVM 模式不需要用户收到操作 dom 元素,将数据绑定到 viewModel 层上,会自动将数据渲染到页面中,视图变化会通知 viewModel层 更新数据。ViewModel 就是我们 MVVM 模式中的桥梁.

    2022/03/08 JavaScript

  10. 前端跨域问题的解决

    什么是跨域 前后端分离导致了跨域 当协议+域名+端口的其中之一不一样时候都会跨域(http://www.a.com) 协议:http(80端口) 和 https(443端口)

    2022/03/07 JavaScript