Sass
是怎么来的?我是这样理解的,有那么一群进入前端领域的攻城狮,发现css
竟然不是程序语言,那怎么在其他前端攻城狮面前装逼呢?那能不能让css
能听懂程序语言的指令呢?然后呢,他们就整了一套css
预处理器,把编程的语法引入进来,然后美言之:less is more
。
Sass
更让人寻味的地方是它处理的是.scss
文件。为什么不把后缀名改成.sass
呢?
下面是Sass
的网络资源:
现在,让我们开始Sass
的旅途。
April 25 , 2017
Sass
阅读全文
在介绍强制转换之前,不论是显式的还是隐式的,我们需要了解字符串、数字和布尔值之间类型转换的基本规则,这些规则(也叫抽象操作)是仅供内部使用的。
toString
抽象操作toString
负责处理非字符串到字符串的强制类型转换。基本类型值得字符串化规则是:null
转换成"null"
,undefined
转换为"undefined"
,true
转换成"true"
。数字的字符串化则遵循通用规则。
toNumber
抽象操作toNumber
处理非数字值到数字值的强制类型转换。规则如下:
true
变成1
,false
变成0
,undefined
转换成NaN
,null
变成0
- 对字符串的处理基本遵循数字常量的相关规则和语法,处理失败返回
NaN
。
- 对象会首先转换为相应的基本类型值,如果返回的是非数字的基本类型值,则再遵循以上规则将其强制转换为数字。
为了将值转换为相应的基本类型值,抽象操作ToPrimitive
首先通过内部操作DefaultValue
检查改制是否有valueOf()
方法,如果有并且返回基本类型值,就使用该值进行强制类型转换。如果灭有就使用toString()
的返回值来进行强制类型转换。如果两者都没有,产生TypeError
错误。
April 14 , 2017
JavaScript
阅读全文
最近经常用到Array.prototype.map()
和Array.prototype.reduce()
函数,根据自己的理解,在此处记录。
这两个都是内置对象Array
的两个函数,用法也存在相似性。
April 12 , 2017
JavaScript
阅读全文
之前,我们是通过«JavaScript DOM编程艺术»这本书来学习原生的 JavaScript DOM 编程。这里呢,想更加具体地将这些方法和属性都罗列出来。
首先,理解节点(node)的概念。DOM 树其实就是一棵节点树,节点分为多种不同的类型。
April 11 , 2017
DOM
阅读全文
Data Structure Visualizations提供了数据结构和算法的动画演示。
不同的排序算法性质有所不同,衡量算法的效率,通常是用资源,例如CPU
(时间)占用、内存占用、硬盘占用和网络占用。当讨论大O
表示法时,一般考虑的是CPU
占用。
排序算法是重要的,因为排序算法是二分查找的第一个步骤。
JavaScript
的Array
类定义了一个sort
函数(Array.prototype.sort
)用以排序JavaScript
数组。ECMAScript
没有定义用哪个排序算法,所以浏览器厂商可以自己去定义。
April 11 , 2017
Algorithms
阅读全文
DOM
中的D
指的是document
,O
指的是Object
,在JavaScript
语言中,有三种对象类型,分别是user-defined object
、native object
、host object
,对于host object
,指的是浏览器提供的对象,最基础的就是window
本身了。其中的M
,指的就是模型。
那整个模型怎么解释呢?
March 31 , 2017
DOM
阅读全文
JavaScript
的所有属性都是公有的,没有显式的方法可以指定某个属性不能被外界某个对象访问。通常的方法是通过命名规则,比如我们在不希望公有的属性名前加上下划线(_
)。此外,还有些其他的方法。
March 24 , 2017
JavaScript
阅读全文
在Object Model
这一节简单介绍了一下原型链和继承,由于最近在读Nicholas C.Zakas
的The Principles of Object-Oriented JavaScript
,又有了很多的启发,特记录在本文中。
最开始,也是最基本的,我们需要了解构造函数、原型和实例的概念和它们之间的关系。
March 23 , 2017
JavaScript
阅读全文