Fork me on GitHub
摘要: 最近在看《JavaScript高级程序设计》一书,书中讲到相等操作符(==)时说,要比较相等性之前,不能将 null 和 undefined 转换成其他任何值,但要记住 null == undefined 会返回 true 。的确,在ECMAScript规范中也是这样定义的,但我认为这样来理解这件事阅读全文
posted @ 2017-08-10 08:17 一像素 阅读(488) 评论(5) 编辑
摘要: Node.js 采用事件驱动和异步 I/O 的方式,实现了一个单线程、高并发的 JavaScript 运行时环境,而单线程就意味着同一时间只能做一件事,那么 Node.js 如何通过单线程来实现高并发和异步 I/O?本文将围绕这个问题来探讨 Node.js 的单线程模型 。 1、高并发策略 一般来说阅读全文
posted @ 2017-07-10 01:48 一像素 阅读(1946) 评论(15) 编辑
摘要: TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP协议采用4层结构,分别是应用层、传输层、网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求。由于我们大部分时间都工作在应用层,下层的事情不阅读全文
posted @ 2017-06-29 00:17 一像素 阅读(955) 评论(3) 编辑
摘要: 在Web应用中,实现动画效果的方法比较多,JavaScript 中可以通过定时器 setTimeout 来实现,css3 可以使用 transition 和 animation 来实现,html5 中的 canvas 也可以实现。除此之外,html5 还提供一个专门用于请求动画的 API,即 req阅读全文
posted @ 2017-06-26 00:26 一像素 阅读(497) 评论(1) 编辑
摘要: Web前端技术由html、css和 javascript 三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言。而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构。本文将对Web前端知识体系进行简单的梳理,对应阅读全文
posted @ 2017-06-16 01:13 一像素 阅读(8493) 评论(15) 编辑
摘要: MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自动传递给 View,即所谓的数据双向绑定。阅读全文
posted @ 2016-11-06 22:42 一像素 阅读(15570) 评论(38) 编辑
摘要: 使用Node.js搭建Web服务器是学习Node.js比较全面的入门教程,因为实现Web服务器需要用到几个比较重要的模块:http模块、文件系统、url解析模块、路径解析模块、以及301重定向技术等,下面我们就一起来学习如何搭建一个简单的Web服务器。 作为一个Web服务器应具备以下几个功能: 1、阅读全文
posted @ 2016-03-28 01:35 一像素 阅读(13564) 评论(14) 编辑
摘要: H5单页面手势滑屏切换是采用HTML5 触摸事件(Touch) 和 CSS3动画(Transform,Transition)来实现的,效果图如下所示,本文简单说一下其实现原理和主要思路。 1、实现原理 假设有5个页面,每个页面占屏幕100%宽,则创建一个DIV容器viewport,将其宽度(widt阅读全文
posted @ 2016-03-21 02:02 一像素 阅读(7572) 评论(14) 编辑
摘要: NaN 即 Not a Number , 不是一个数字, 那么NaN到底是什么呢? 在JavaScript中,有7种数据类型,分别包括String,Number,Boolean,Symbol,Undefined,Null 和 Object, 而对于JS来说,整数和浮点数都统称为 Number 类型 阅读全文
posted @ 2016-03-16 00:27 一像素 阅读(4935) 评论(3) 编辑
摘要: React 起源于Facebook内部项目,是一个用来构建用户界面的javascript库,相当于MVC架构中的V层框架,与市面上其他框架不同的是,React 把每一个组件当成了一个状态机,组件内部通过state来维护组件状态的变化,当组件的状态发生变化时,React通过虚拟DOM技术来增量并且高效的更新真实DOM。本文将对React的这些特点进行简单的介绍。阅读全文
posted @ 2016-03-06 21:58 一像素 阅读(6678) 评论(6) 编辑
摘要: 1、正则表达式概述 ECMAScript 3 开始支持正则表达式,其语法和 Perl 语法很类似,一个完整的正则表达式结构如下: 其中,模式(pattern)部分可以是任何简单或复杂的正则表达式,可以包含字符类、限定符、分组、向前查找以及反向引用。 每个正则表达式都可带有一或多个标志(flags),阅读全文
posted @ 2016-02-26 15:00 一像素 阅读(3264) 评论(1) 编辑
摘要: 在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用程序,应用中所有的视图都包含在这个HTML页面中,并通过JavaScript控制相关视图的显示和隐藏,这种模式可以让用户在Web App感受Native App的速度和流畅。本篇文章的目的就是教你如何来快速的构建一个单页面应用程序。阅读全文
posted @ 2016-01-26 01:36 一像素 阅读(4532) 评论(5) 编辑
摘要: 在JavaScript中,call 和 apply 是Function对象自带的两个方法,这两个方法的主要作用是改变函数中的this指向,从而可以达到`接花移木`的效果。本文将对这两个方法进行详细的讲解,并列出几个关于call和apply的经典应用场景。阅读全文
posted @ 2016-01-20 00:17 一像素 阅读(2610) 评论(7) 编辑
摘要: 在 JavaScript 中,对数值进行四舍五入操作的场景有以下几种: 向上取整:ceil 向下取整:floor 四舍五入:round 固定精度:toFixed 固定长度:toPrecision 取整:parseInt(位操作符) 本文将对这 6 个 API 进行简单的讲解和总结。 1、向上取整: 阅读全文
posted @ 2016-01-19 11:07 一像素 阅读(567) 评论(0) 编辑
摘要: 在 ECMAScript 规范中,共定义了 7 种数据类型,分为 基本类型 和 引用类型 两大类,如下所示: 基本类型:String、Number、Boolean、Symbol、Undefined、Null 引用类型:Object 基本类型也称为简单类型,由于其占据空间固定,是简单的数据段,为了便于阅读全文
posted @ 2016-01-19 01:14 一像素 阅读(2051) 评论(9) 编辑
摘要: 在 ECMAScript 规范中,共定义了 7 种数据类型,分为 基本类型 和 引用类型 两大类,如下所示: 基本类型:String、Number、Boolean、Symbol、Undefined、Null 引用类型:Object 基本类型也称为简单类型,由于其占据空间固定,是简单的数据段,为了便于阅读全文
posted @ 2016-01-13 00:18 一像素 阅读(9895) 评论(0) 编辑
摘要: 1、sort( [compareFunction] ) 对数组做原地排序,并返回这个数组,默认按照字符串 UNICODE 的码位点排序,如下所示: 这显然不是我们想要的结果。为了实现真正意义上的排序,可以给 sort 传递一个回调函数 compareFunction, 其接收两个参数 a 和 b,分阅读全文
posted @ 2016-01-12 03:02 一像素 阅读(1788) 评论(4) 编辑
摘要: jQuery对于大家而言并不陌生,因此关于它是什么以及它的作用,在这里我就不多言了,而本篇文章的目的是想通过对源码简单的分析来讨论 jQuery 的核心架构设计,以及jQuery 是如何利用javascript中的高级特性来构建如此伟大的javascript库。阅读全文
posted @ 2016-01-04 01:42 一像素 阅读(2489) 评论(7) 编辑
摘要: javascript从定义到执行,JS引擎在实现层做了很多初始化工作,因此在学习JS引擎工作机制之前,我们需要引入几个相关的概念:执行环境栈、全局对象、执行环境、变量对象、活动对象、作用域和作用域链等,这些概念正是JS引擎工作的核心组件。这篇文章的目的不是孤立的为你讲解每一个概念,而是通过一个简单的demo来展开分析,全局讲解JS引擎从定义到执行的每一个细节,以及这些概念在其中所扮演的角色。阅读全文
posted @ 2015-12-31 09:57 一像素 阅读(5806) 评论(11) 编辑
摘要: 闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMAScript 规范给的定义,如果没有实战经验,很难从定义去理解它。因此,本文不会对闭包的概念进行大篇幅描述,直接上干货,让你分分钟理解闭包! 1、闭包,一睹为快 在接触一个新技术的时候,我首先阅读全文
posted @ 2015-12-21 09:14 一像素 阅读(19605) 评论(78) 编辑
摘要: 和其他高级语言一样 JavaScript 也有 new 操作符,我们知道 new 可以用来实例化一个类,从而在内存中分配一个实例对象。 但在 JavaScript 中,万物皆对象,为什么还要通过 new 来产生对象? 带着这个问题,我们一步步来分析和理解 new 的一些特性: 1、认识 new 操作阅读全文
posted @ 2015-12-14 09:09 一像素 阅读(13602) 评论(15) 编辑
摘要: 1、作用域 所谓作用域就是:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。 (1)scope函数中定义的foo变量,除过自身可以访问以外,还可以在if语句、while语句和内嵌的匿名函数中访问。 因此,foo的作用域就是scope函数体。 (2)在javascript中,if、阅读全文
posted @ 2015-12-10 16:05 一像素 阅读(3653) 评论(11) 编辑
摘要: 在Javascript中,万物皆对象,但对象也有区别,大致可以分为两类,即:普通对象 Object 和 函数对象 Function。 一般而言,通过 new Function 产生的对象是函数对象,其他对象都是普通对象。 举例说明: f1属于函数的声明,最常见的函数定义方式,f2实际上是一个匿名函数阅读全文
posted @ 2015-12-07 01:44 一像素 阅读(13074) 评论(12) 编辑