stay hungry stay foolish

  • November 23, 2021 其他 阅读时长 ~ 1分钟
    SPA路由原理
    SPA路由的实现在前端有两种方式:hash和history,其中hash的方式兼容想较好,history只适用于HTML5浏览器。hash方式此种方式通过改变hash值来实现路由的跳转,改变hash值并不会发生请求到后端,所以不需要后端配置路由。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>spa 测试</title&g...…
  • September 23, 2021 其他 阅读时长 ~ 1分钟
    git子模块
    添加子模块git submodule add <子模块链接> <子模块名称>子模块名称就是本地路径注意:如果github博客里使用了子模块,子模块链接必须使用web URL,否则将不能构建初始化子模块git submodeule init对应新clone的项目,如果其中有子模块,需要使用该命令初始化子模块。更新子模块git submodule update:初始化后首次更新远程代码到本地。git submodule update --remote:将远程子模块最新代...…
  • September 22, 2021 其他 阅读时长 ~ 2 分钟
    深入理解vertical-align
    术语 非替换元素:如果元素的内容包含在文档中,则称之为非替换元素。 替换元素:指作为其他内容占位符的一个元素(<img>、<video>、<audio>等)。但,inline-block元素在布局中也当作替换元素处理。所以,又包含大量的表单类元素及表格类元素。 em框 :em框在字体中定义,也称为字符框(character box)。实际的字形可能比其em框更高或更矮。在CSS中,font-size的值确定了各个em...…
  • September 12, 2021 其他 阅读时长 ~ 2 分钟
    ie低版本兼容
    标准浏览器 如果其中一个特性值被设置成了scroll或auto’,而另一个特性指定值为visible,那么visible会被设置成auto`。ie8及以下浏览器 不支持opacity,可用filter: alpha(opacity: 100)来代替。 不支持::before,::after的标准写法,只支持:before,:after。 不支持:last-child伪类。 当一个元素的overflow-x或overflow-y指定值为hidden,另一个特性的指定值为visibl...…
  • July 03, 2021 其他 阅读时长 ~ 1分钟
    centos7翻墙
    一键安装用root账户登录后(vultr默认是root账户登录),开始安装一键shadowsock脚本:#命令1:(可双击复制)wget --no-check-certificate -O shadowsocks-libev.sh https://raw.githubusercontent.com/wanls4583/wanls4583.github.io/master/code/shadowsocks/shadowsocks-libev.sh#命令2:chmod +x shadowsoc...…
  • April 06, 2021 JavaScript 阅读时长 ~ 1分钟
    js严格模式
    “严格模式”体现了Javascript更合理、更安全、更严谨的发展方向,包括IE 10在内的主流浏览器,都已经支持它。js严格模式主要有以下好处: 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为; 消除代码运行的一些不安全之处,保证代码运行的安全; 提高编译器效率,增加运行速度; 为未来新版本的Javascript做好铺垫。“严格模式”有两种调用方法,适用于不同的场合。针对整个脚本:<script> "use strict"; c...…
  • March 15, 2021 其他 阅读时长 ~ 1分钟
    前端面试题
    JS作用域var a=10;function aaa(){ console.log(a); var a=20;}aaa(); //undefined解释:aaa函数里的变量进行了提升,相当于先声明了变量var a,后面再进行赋值操作。function aa(){ var a=b=10 };console.log(b); //10解释:var a=b=10,相当于var a;b=10;a=b;,未声明的b变成了全局变量function Foo() { getName = funct...…
  • September 28, 2019 web安全 阅读时长 ~ 1分钟
    csrf攻击
    CSRF(Cross Site Request Forgeries)跨网站请求伪造,也叫XSRF,通过伪装来自受信任用户的请求来攻击利用受信任网站。原理:例: 用户打开浏览器,访问受信任银行网站,输入用户名和密码请求登录网站; 在用户信息通过验证后,银行网站产生Cookie信息并返回给浏览器,此时用户登录网站成功,可以正常发送请求到网站; 用户未退出银行网站之前,在同一浏览器中,打开一个TAB页访问其他网站B; 这时候网站B 已被黑客注入诱导信息,加入是一张图片,图片地址指向s...…
  • September 08, 2019 其他 阅读时长 ~ 1分钟
    js垃圾回收机制
    JavaScript引擎常用的垃圾回收机制有两种,一种是标记清除法,一种是引用计数法,有的浏览器会同时使用这两种。标记清除法标记清除算法从名称上看,可以拆分为两部分:标记(mark)和清除(sweep)。此算法可以分为两个阶段,一个是标记阶段,一个是清除阶段,下面就分别做一下介绍。 标记阶段:在此阶段,垃圾回收器会从mutator(应用程序)根对象开始遍历。每一个可以从根对象访问到的对象都会被添加一个标识,于是这个对象就被标识为可到达对象。 清除阶段:在此阶段中,垃圾回收器,会对堆...…
  • September 07, 2019 其他 阅读时长 ~ 1分钟
    DOMContentLoaded与load事件区别
    当HTML文档加载并解析完成,并且执行完同步JS代码后将会触发DOMContentLoaded事件;当页面上所有的资源(图片,音频,视频等)被加载以后才会触发load事件,其在DOMContentLoaded事件之后。需要注意的是:同步JS代码如果造成了了新的资源加载请求,将会延迟load事件的触发时间。示例:<!DOCTYPE html><html><head> <title></title></head>&l...…