原型与原型链
# 什么是原型 在搞明白什么是原型之前我们首先要明白我们为什么要原型,毕竟语言的设计者不会无缘无故搞出一个完全没有用的东西,它肯定是为了解决某个问题而诞生的。那么原型它解决了什么问题呢? 我们都知道在 es6 之前,js 是没有关键字 class 创建类的。那时候我们要使用类就用构造函数这种形式来实现它。在 C++ 这种原生支持类的语言中,同一个类的多个实例里的方法只有一份,也就是说不管我们实例化了多少个对象,在计算机的内存中这个类的方法在内存中只有一份。只有每个实例的属性才会在内存中产生多个副本。例如 class foo{ private: string name; int...
more...cookie 和 sessionStorage & localStorage
# 背景 本文主要围绕 What、Why、How 这三个方面谈谈 sessionStorage 和 localStorage 的联系与区别。 # What sessionStorage 和 localStorage 都是 BOM 提供给我们在浏览器上进行本地存储数据的 API,利用它我们可以实现在本地浏览器存储一些数据。这两个方法都是隶属于 Window 这个顶级 BOM 下的,在需要的时候我们直接调用即可。 #...
more...关于 Javascript 的作用域
# 函数作用域 js 里若我们包装函数的声明,则该函数会被当做一个函数表达式,而不是一个函数声明。如何理解? var a = 2;(function foo(){ var a = 3; console.log(a); })(); // 输出 3console.log(a); // 输出 2// 当我们继续想要调用 foofoo(); //ReferenceError---------//foo 函数的书写还有一个改进的形式(function foo(){ var a = 3; console.log(a); // 输出 3}()) // 即将 () 调用也包含进外层的 ()...
more...Javascript 的坑
# 坑一:变量提升 js 在解析时,会将所有的变量与函数先声明再进行赋值操作。例如 // 先输出再声明并赋值变量console.log(a); // 输出结果为 undefinedvar a = 10;像这类代码,在执行时等于如下效果 var a;console.log(a);a = 10;** 这说明 js 在执行时,会将变量提至最前面先声明,再进行赋值操作。** 同理,我们进行函数调用时也是如此进行函数提升 fu1(); // 在未定义 fu1 () 时就调用它,此时我们执行时是可以输出 xxx 的function fu1(){ console.log('xxx');}//...
more...Boostrap 初探
# Boostrap 简介 Boostrap 是一套基于 HTML、CSS 和 Javascript 的的响应式前端框架。简单来说就是一套预先定义好的 css 文件和 js 文件,当我们需要使用时在 html 页面中用 link 标签引入我们需要的文件,然后使用即可。 # Boostrap 的使用 Boostrap 的使用极其简单,我们只需要根据它定义好的类名,在我们要引入样式的标签上添加它给的类名就可以使用了。若默认样式不满足我们的需求,我们可以自己使用选择器更改对应属性。 Bootstrap 需要为页面内容和栅格系统包裹一个 .container...
more...Windows terminal 免密码登录 Linux 服务器
# Linxu 服务器配置 # 登录 Linux 并生成密钥对 首先我们使用 putty 登录 Linux 服务器 再让 Linux 服务器先生成 rsa 密钥对供我们认证。使用如下命令 ssh-keygen命令执行后对于弹出的选项我们一路回车就行 密钥对生成后我们要将其中的公钥文件 id_rsa.pub 更改为 authorized_keys ,然后将私钥文件 id_rsa 下载至本地 Windows # 更改 Linux 公钥文件名称 我们找到生成密钥的地址 /home/unbuntu/.ssh ,因为我们现在就是在当前用户目录下生成的密钥,所以只需要输入 cd .ssh...
more...浅谈 rem 布局
# rem + less + 媒体查询布局 # rem # 初识 rem 什么是 rem,rem 的全称为 root em。em 我们都知道,1em 代表一个字符的大小。而 root em 顾名思义,我们可以大致猜测出是以某个源为标准的单位。实际上 rem 代表的是以 <html> 标签里 font-size 属性的单位,举个例子 html { 设置html文件的默认字体大小为16px font-size:16px;}此时 1 rem = 16 px;由此可以看出,html 标签里设置的字体像素值为多少,其每单位 rem 就是多少像素的大小。 # 为什么要...
more...