Shen Chaoran


用技术改变世界

Css之px, em, rem

px px 是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果 px 要换算成物理长度,需要指定精度 DPI(Dots Per Inch,每英寸像素数),在扫描打印时一般都有DPI可选。Windows系统默认是96dpi,Apple系统默认是72dpi。 CSS 中的 1px 并不等...

Javascript之绑定事件

原生方法 在html中使用 onclick 绑定 <input onclick="func('axx')" type="button" /> addEventListener() // 第三个参数:false表示冒泡阶段,true捕捉阶...

Javascript之从localstorage,sessionstorage,cookie,session说前后端存储数据的方式

name max size time http请求是否会携带 浏览器窗口范围 是否跨窗口共享值 cookie 4k user set e...

Javascript之target和currenttarget

读定义总是很绕,要彻底了解这两者的区别,我们要先了解浏览器中事件传递的机制冒泡和捕获。 冒泡和捕获 在页面中点击一个元素,事件是从这个元素的祖先元素中逐层传递下来的,这个阶段为事件的捕获阶段。当事件传递到这个元素之后,又会把事件逐成传递回去,直到根元素为止,这个阶段是事件的冒泡阶段。 我...

Javascript之深拷贝和浅拷贝

例子 var obj1 = {name:'bangbang',age:18}; var b = obj1; var c = obj1.age; console.log(b.name); //bangbang console.log(c); //18 //改变b和c的值 b.name...

Javascript之栈内存和堆内存

js 中的堆内存和栈内存 首先JavaScript中的变量分为基本类型和引用类型。 基本类型就是保存在栈内存中的简单数据段 引用类型指的是那些保存在堆内存中的对象。 1、基本类型 基本类型有Undefined、Null、Boolean、Number 和String。这些...

Javascript之静态作用域

静态作用域与动态作用域 静态作用域:函数的作用域在函数定义的时候决定,又称为词法作用域 动态作用域:函数的作用域在函数调用的时候决定 执行上下文 JavaScript 引擎并非一行一行地分析和执行程序,而是一段一段地分析执行。当开始执行一段代码时,会做相应的“准备工作”,如变量提...

Javascript之变量提升和函数提升

首先需要声明的是,JavaScript 并不能简单地成为解释型语言,应该是半编译型半解释型的语言? JavaScript 引擎会在正式执行前进行一次预编译,在这个过程中,会将变量声明和函数声明提升到当前作用域的顶端,然后在执行后面的代码。 变量提升 变量的声明只有一种方式,那就是用 var ...

Javascript之typeof和instanceof的区别

Use instanceof for custom types: var ClassFirst = function () {}; var ClassSecond = function () {}; var instance = new ClassFirst(); typeof instan...

Javascript之继承和原型链

#原型链 构造函数、实例对象、原型对象三者的关系通过 proto, prototype, new 关联 prototype 每个函数都有一个 prototype 属性,这个属性指向通过该函数创建的实例的原型 function Person() { } // 虽然写在注释里,但是你要注意:...