- 博客(12)
- 收藏
- 关注
原创 CSS之BFC
BFC (Block Formatting Contexts)块级格式化上下文什么是Formatting context: (格式化上下文) 是W3C CSS2.1规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。所有在常规流中的元素都仅属于一种格式化上下文(Inline formatting contexts 与 B...
2019-03-09 10:43:25
155
原创 JavaScript对象,数组的克隆方法
对象的浅克隆ES6 新增了 Object.assign(…),第一个参数是 target,其他传入的参数都是源,它们将按照列出的顺序依次被处理,这个方法的作用是把后面对象的属性和方法复制到target对象中并返回。这个方法只拷贝对象自身和可枚举的属性,通过继承来的不会拷贝。如果拷贝的属性中包含对象,那么只会拷贝对象的引用,如上:target.c==a.c//true这就是浅克隆的一个方法...
2019-03-09 01:30:05
178
原创 JavaScript 作用域精讲
作用域作用域是根据名称查找变量的一套规则,负责确定当前执行的代码对标识符(变量,函数)的访问权限。关于词法作用域和动态作用域词法作用域(又叫静态作用域)和动态作用域是两种不同的作用域模型 JavaScript采用的是词法作用域模型词法作用域(静态作用域):词法作用域就是定义在词法阶段的作用域。换句话说,词法作用域是由你在写代码时将变量和函数写在哪里来决定的,与函数执行顺序无关,因此当词法...
2019-03-08 23:19:51
149
原创 JavaScript中继承关系,及prototype,__proto__,constructor属性关系
JavaScript中的继承继承是oo语言中最重要的概念。许多oo语言中都支持两种继承关系:接口继承和实现继承。JavaScript中只支持实现继承,而且实现继承主要是靠原型链来实现的。储备知识1、prototype属性:prototype属性只存在于函数中,这个属性指向一个函数引用,这个对象就是该函数的原型对象。每个函数都包含不同的原型对象,当函数用作构造函数时,新创建的对象就会从它构造...
2019-03-08 17:43:54
231
原创 css元素水平垂直居中的方式
实现方法1、margin:auto;position: absolute;left: 0;right: 0;top: 0;bottom:0;此代码会使任意子元素相对最近有定位的父元素水平垂直居中。显示效果:2、position: absolute;left: 50%;top: 50%;margin-top:-xxpx;(xx=height/2)margin-...
2019-03-07 10:11:18
124
原创 CSS清除浮动的方式
为什么要清除浮动在css中,浮动是非常重要的布局技术,但因为浮动的内容已经脱离了文档流,因而无论原先在标记中包含它还是跟随它的元素,其布局都会受到它的影响。有时,浮动会对布局产生破坏性的影响,比如:1、会出现父级元素不能包含子集浮动元素的现象红色元素因为浮动脱离了它的父级元素2、在同级元素中,因为浮动元素顶部有空间,浮动元素会浮动到错误的位置。如果我想要一段文字配上一张图片用3排并排...
2019-03-07 09:28:27
117
原创 理解和解决JavaScript中的浮点运算bug
NUMBER类型JavaScript 只有一种数值类型:number(数字),包括“整数”和带小数的十进制数。严格意义上说,JavaScript没有整形数值,JavaScript 中的数字类型是基于 IEEE 754 标准来实现的双精度浮点数。默认情况下大部分数字都以十进制显示,小数部分最后面的 0 被省略。这就是我们在JavaScript中看到的整数。比如:var a = 1.0;...
2019-03-05 19:04:45
693
原创 前端基础知识
Postion有几种,absolute和relative的区别?static | relative | absolute | fixed | center | page | stickyrelative: 对象遵循常规流,并且参照自身在常规流中的位置通过top,right,bottom,left这4个定位偏移属性进行偏移时不会影响常规流中的任何元素。 absolute: 对象脱离常规流,此时...
2019-03-04 22:53:23
129
原创 JavaScript 预编译
JavaScript引擎在执行代码时执行代码时会进行三个步骤:1、语法分析(通篇扫描全局是否有语法错误)2、预编译3、解释执行(在预编译之后一行一行执行代码)下面就是今天的重头戏:预编译预编译就是在JavaScript代码解释执行之前,变量和函数的所有声明都会首先被处理。听上去有点复杂,举个栗子:console.log( a ); //打印出undefined;va...
2019-03-04 22:32:43
102
原创 JavaScript中LHS引用和RHS引用的比较
JS引擎在查找变量的时候,有两种查找方式:LHS 和 RHS“L”和“R”的含义,它们分别代表在赋值操作符左侧和赋值操作符的右侧(一些参考书把进行LHS查询的值叫左值,RHS查询的值叫做右值)。RHS引用只是找到变量的值,不对其进行修改。比如:console.log( a );其中对 a 的引用是一个 RHS 引用,因为这里 a 并没有赋予任何值。相应地,需要查找并取得 a 的值...
2019-03-03 23:42:44
282
1
原创 JavaScript跨域问题
一般情况下,前后端在传输数据时,都是在访问同一个域的资源。但有时也不可避免的要跨域发送请求,这是本文要探讨的内容。(一) 什么是跨域同源策略:通过XHR实现AJAX通信的一个主要限制,来源于跨域安全策略。默认情况下,XHR只能访问于包含它的页面位于同一个域中的资源 。(所谓同一个域就是指 协议、域名、端口 三者相同)跨域:就是指违反同源策略,向不同的域发送请求,访问资源。(二) 跨域的...
2019-02-24 22:55:17
250
原创 JavaScript异步编程
JavaScript异步编程JavaScript 是利用事件模型处理异步触发任务的单线程语言。这个概念我们应该并不陌生,但在弄清楚js引擎的实现原理之前,在处理异步问题时往往会不知所措。我刚学js时,对 JavaScript异步事件模型就迷惘了多久,迷惘导致 bug和一堆uncatched error,直到之前看到一本关于JavaScript异步编程的书,才恍然大悟。1.js执行机制是单线程的...
2019-02-24 19:46:06
431
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人