你不知道的闭包

2017-03-10
阅读 1 分钟
1.4k
这篇文章不是全面讲闭包知识的,而是针对那些已经对闭包有所了解但是还存在疑惑的人群。比如:闭包为何能保存变量?接下来就详细讲述此类问题。以下内容来自犀牛书第六版。

那些年,前端学习之路的疑难杂症(三):数组和Date的一些梳理

2017-03-09
阅读 2 分钟
1.7k
很多人在学习原生JS的过程中会遇到一些疑惑,比如在学习array时,就很容易搞不清哪些方法会改变原来数组,哪些方法不会改变原来数组?再比如很多人会使用new Date()获取时间,却搞不清楚1970年是什么鬼。这篇文章就是针对诸如此类问题的总结。如果你有这方面的疑惑,千万不要错过这篇文章哦~

二分查找

2017-03-06
阅读 4 分钟
10.6k
由一道题目引出的: 题目描述 给定一个有序的数组,查找某个数是否在数组中,请编程实现。 分析与解法 一看到数组本身已经有序,我想你可能反应出了要用二分查找,毕竟二分查找的适用条件就是有序的。那什么是二分查找呢? 二分查找可以解决(预排序数组的查找)问题:只要数组中包含T(即要查找的值),那么通过不断缩...

《深入react技术栈》学习笔记(二)初入React世界

2017-03-05
阅读 5 分钟
2.3k
上一篇文章中,我们讲到了JSX的一些用法和注意事项,这次我们来讲react中最基础也是特别重要的内容:组件。这篇文章包含组件的以下内容:状态、属性、生命周期。

《深入react技术栈》学习笔记(一)初入React世界

2017-03-05
阅读 2 分钟
2.3k
以《深入学习react技术栈》为线索,记录下学习React的重要知识内容。本系列文章没有涵盖全部的react知识内容,只是记录下了学习之路上的重要知识点,一方面是自己的总结,同时拿出来和在学习react的人们一块分享,共同进步。

babel使用方法总结

2017-02-26
阅读 5 分钟
7.9k
Babel 官方推荐将 Babel 安装在本地,因为 Babel 的不同版本以及不同转码规则会起到不同的效果,全局安装会带来不必要的麻烦。在命令提示符中转到自己的项目目录下:

理解排序算法的稳定性

2017-02-23
阅读 3 分钟
4k
本人野生程序员,本科电子信息出身,现在是前端开发。从一个搞硬件为主,软件为辅的彻底变成搞纯软件的,要问我怎么实现转型的,那就是自学!只要感兴趣就自学!这就是野生小程序员的路子,半路出家,经过自学成为程序员,没有经过专业的计算机课程训练。

浏览器缓存

2017-02-16
阅读 5 分钟
20.8k
以前总是傻傻的分不清缓存和cookie,误认为cookie就是指浏览器缓存。还有 cookie localStorage sessionStorage 缓存 四者的关系也没有搞明白。经过一番折腾,终于从网上找到了一些关于缓存的知识。今天这篇文章就先介绍一下缓存吧。 注:以下内容整理自网络,另加笔者参考《http权威指南》整理得到。

那些年,前端学习之路的疑难杂症(二):delete的使用介绍

2017-02-15
阅读 3 分钟
2.6k
【注意】在严格模式中,如果属性是一个不可配置(non-configurable)属性,删除时会抛出异常,非严格模式下返回 false。其他情况都返回 true。

那些年,前端学习之路的疑难杂症(一):严格模式与非严格模式

2017-02-15
阅读 9 分钟
2.5k
ECMAScript 5的严格模式是JavaScript中的一种限制性更强的变种方式。严格模式不是一个子集:它在语义上与正常代码有着明显的差异。不支持严格模式的浏览器与支持严格模式的浏览器行为上也不一样, 所以不要在未经严格模式特性测试情况下使用严格模式。严格模式可以与非严格模式共存,所以脚本可以逐渐的选择性加入严格模...

angular 指令详解(一)compile与link

2017-02-10
阅读 6 分钟
6.8k
AngularJS directives是令人惊艳的。它允许你创造高度语意且可重复利用的元件。在某种意义上你可以认为它是极致的web components先驱者。

讨论数据加载的问题

2017-02-08
阅读 1 分钟
1.6k
将图表的某一列设置成公共列,或者退回私有列。如果已经是公共列,只出现“设置成私有列”,如果是私有列,只出现“设置成公共列”,两个选项不能同时出现。(注:公共列就是每次建表格式默认出现这个列的所有数据。)

理解路由

2017-01-20
阅读 3 分钟
3.2k
原文地址:[链接] ♪ 理解Web路由 1.什么是路由 在Web开发过程中,经常会遇到『路由』的概念。那么,到底什么是路由?简单来说,路由就是URL到函数的映射。 2.router和route的区别 route就是一条路由,它将一个URL路径和一个函数进行映射,例如: {代码...} 这就是两条路由,当访问/users的时候,会执行getAllUsers()函数...

js面向对象之屏蔽属性

2017-01-17
阅读 2 分钟
3.8k
如果myObject 对象中包含名为foo 的普通数据访问属性,这条赋值语句只会修改已有的属性值。 如果foo 不是直接存在于myObject 中,[[Prototype]] 链就会被遍历,类似[[Get]] 操作。如果原型链上找不到foo,foo 就会被直接添加到myObject 上。然而,如果foo 存在于原型链上层,赋值语句myObject.foo = "bar" 的行为就会有...

undefined与null的区别

2017-01-12
阅读 2 分钟
2.8k
大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil。有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null。这是为什么?undefined vs. null

12个javaScript技巧

2017-01-11
阅读 4 分钟
1.9k
有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值。为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单。对于变量可以使用!!variable做检测,只要变量的值为:0、null、" "、undefined或者NaN都将返回的是false,反之返回的是true。比如下面的示例:

es6学习笔记-自己动手实现迭代器

2016-11-26
阅读 1 分钟
2.9k
如果你了解过ES6,那么你应该对for...of比较熟悉了,但是你知道for...of背后的原理是什么么吗? for...of首先调用集合的[Symbol.Iterator]()方法,紧接着返回一个新的迭代器对象。迭代器对象可以是任意具有.next()方法的对象;for ...of循环将重复调用这个方法,每次循环调用一次。举个例子,下面是最简单的迭代器:

JS对象和jQuery对象

2016-11-24
阅读 2 分钟
3.3k
jQuery对象和DOM对象使用说明,需要的朋友可以参考下。jQuery对象和DOM对象第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQuery对象和DOM对象以及它们之间的关系.DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象;复制代码 代...

JS中的className操作

2016-11-24
阅读 2 分钟
11.5k
添加className (1)修改元素的“所有”的 class 用新的 class 替换掉原有的所有 class,可以设置 className 属性: {代码...} (如果想替换为多个 class,可以使用空格分隔。) (2)为元素添加新的 class 如果想添加一个新的 class,并保留所有原有的 class,可以: {代码...} (注意 MyClass 前面的空格。) 删除className ...

sass学习总结的几点

2016-11-11
阅读 1 分钟
1.6k
与CSS属性不同,变量可以在css规则块定义之外存在。当变量定义在css规则块内,那么该变量只能在此规则块内使用。如果它们出现在任何形式的{...}块中(如@media或者@font-face块),情况也是如此

HTML5中的表单

2016-11-10
阅读 4 分钟
2.4k
相对于 HTML4 来说,HTML5中的元素与特性提供更大程度上的语义标记,同时还删除了大量在 HTML4 中因为脚本与样式缘故而存在的冗余元素。通过让表单在不同网站上表现的更加一致,及时响应用户输入的数据,HTML5的表单特性为用户提供了更好的使用体验。这些体验同样适用于那些禁用了浏览器脚本的用户。

浅谈 Underscore.js 中 _.throttle 和 _.debounce 的差异

2016-11-10
阅读 4 分钟
2.3k
文章转自:[链接]注: _.throttle 和 _.debounce是Underscore.js库的两个针对函数节流的方法,用于处理高频率触发的事件,是setTimeout的优化。以此为契机,在以后的系列文章,会和大家一块解读underscope.js

javascript 值深复制

2016-11-08
阅读 2 分钟
1.9k
浅复制 (影子克隆): 只复制对象的基本类型, 对象类型, 仍属于原来的引用。深复制 (深度克隆): 不紧复制对象的基本类, 同时也复制原对象中的对象。就是说完全是新对象产生的。

JavaScript 对象转换之toString和valueOf

2016-11-07
阅读 1 分钟
2.3k
1.如果toString方法存在并且返回“原始类型”,返回toString的结果。2.如果toString方法不存在或者返回的不是“原始类型”,调用valueOf方法,如果valueOf方法存在,并且返回“原始类型”数据,返回valueOf的结果。3.其他情况,抛出错误。

理解Javascript

2016-11-07
阅读 4 分钟
2.1k
The parseInt() function parses a string and returns an integer.The radix parameter is used to specify which numeral system to be used, for example, a radix of 16 (hexadecimal) indicates that the number in the string should be parsed from a hexadecimal number to a decimal number.If the radix param...

setTimeout时间设置为0【归档】

2016-10-14
阅读 3 分钟
2.6k
原文出处:[链接]整 理:[链接]1.问题来源 {代码...} 代码运行实例请戳:[链接]通过代码运行实例我们发现: {代码...} 2.问题讲解下面用两张图来说明问题:注意:这里值得思考的focus()的执行时机,根据这次测试观察,发现focus事件好像挂载在mousedown之内的最后面,而不是直接挂在mousedown的后面。它和mousedown仿佛...

使用let替换var实现块级作用域的小发现

2016-10-10
阅读 1 分钟
3k
在讲述javascript没有块级作用域的时候都会提到一个非常经典的例子: {代码...} 因为javascript没有块级作用域,所以控制台打印出来的结果是: 具体什么原因这里不再赘述,有兴趣的可以去参考《javascript高级程序设计》 后来在es6上出现了一个可以定义块级块级作用域的声明let.不过由于当前浏览器对es6的支持不好,所以...

使用CSS生成图标

2016-09-14
阅读 6 分钟
3.2k
有一次笔者在参加前端面试的过程中被面试官问到这样一个问题: BootStrapt里面的图标是怎么样的?用过Bootstrapt的开发者都知道,在Bootstrapt里面有一个图标组件,引用这个文件之后,就可以通过给元素添加类名来给元素添加相应的图标,并且这个图标还可以改变颜色和大小。那么它是怎么实现的呢?大家首先想到的最通用的...

利用document.compatModel来判断当前浏览器采用的渲染方式

2016-09-07
阅读 1 分钟
1.9k
当document.compatMode等于BackCompat时,浏览器客户区宽度是document.body.clientWidth;当document.compatMode等于CSS1Compat时,浏览器客户区宽度是document.documentElement.clientWidth。 浏览器客户区高度、滚动条高度、滚动条的Left、滚动条的Top等等都是上面的情况。一个准确获取网页客户区的宽高、滚动条宽高、...

DOM一致性检测

2016-09-07
阅读 2 分钟
2.4k
由于DOM分为多个级别,也包含多个部分,因此检测浏览器实现了DOM的哪些部分就十分必要。document.implementation属性就是这些提供相应信息和功能的对象。与浏览器对DOM的实现直接对应。