文章列表 (共 625 篇,第 18/63 页)
CSS(Cascading Style Sheets),层叠样式表是一种用来给HTML或XML定义样式的编程语言,目前最新版本为CSS3。使用CSS有很多好处,如:可以做到网页表现与内容的分离、统一设置元素样式、对网页中的元素进行更精确的排版和控制等。但CSS也有无法递归定义、无法使用变量/表达式、及复用性不足等缺点。针对这些不足,人们推出了一些CSS预处...
阅读全文 →
JavaScript是一种基于对象的语言,与传统面向对象语言(C#、C++)相比,JavaScript中没有类的概念,其继承有两种基本形式:基于对象的继承和基于类型的继承(原型链继承)。无论哪种形式的继承,都是基于一个已经存在的对象创建一个新对象。
1.类继承的实现
基于对象的继承
ECMAScritp5中提供了一个...
阅读全文 →
ECMAScript 5中引入了严格模式(strict mode),相同的代码在严格模型下有时会比普通模式下执行的更快。在严格模式下,执行引擎会对JavaScript进行更加严格的语法检查,一些在普通模式下的静默错误会在严格模式下抛出异常。
使用严格模式
1.1 全部开启严格模式
1.2 部分使用严格模式
与非严格模式的区别
...
阅读全文 →
JavaScript没有传统面向对象语言的类继承机制,而是基于原型链继承实现的,其本质是使用函数模拟类的特征。我们可以通过prototype将属性写到原型链上,调用new操作符创建对象(实例化)时,对象实例会把类原型链上的属性关联到自身的__proto__属性上;而子类继承父类时,是将子类的prototype属性指向父类的prototype属性,并在子...
阅读全文 →
JavaScript的闭包有两个用途:一个是访问函数内部的变量;另一个是让变量的值在作用域内保持不变。函数是JavaScript 中唯一有作用域的对象,因此JavaScript的闭包依赖于函数实现,下面结合两则示例对JavaScript的闭包做简单说明。
1. 访问函数内部的变量
JavaScript中没有严格意义上的类,所以我们常用函数来模拟类。我们...
阅读全文 →
当前最新的JavaScript语法标准是ECMAScript 6(ES2015),ES2015给JavaScript带来了很多新特性,如:Promise对象、Generator函数、Class等。但是这些对象浏览器和低版本的Node.js(Node.js自v4.0+开始支持ES2015特性)中,在并不能或部分不能支持ES2015特性,这时我们可以使用Bab...
阅读全文 →
TypeScript是JavaScript语言的一个类型化超集,是由微软开发的免费、开源编程语言。其本质上是向JavaScript添加了一些可选的静态类型和基于类的面向对象编程特性,可编译为原生JavaScript语言。目前为止笔者仍认为学TypeScript是非必须的,但不可否认有很多npm模块都在使用或转为使用TypeScript开发,因此有必要学习和...
阅读全文 →
TypeScript是JavaScript语言的一个类型化超集,是由微软开发的免费、开源编程语言。其本质上是向JavaScript添加了一些可选的静态类型和基于类的面向对象编程特性,可编译为原生JavaScript语言。目前为止笔者仍认为学TypeScript是非必须的,但不可否认有很多npm模块都在使用或转为使用TypeScript开发,因此有必要学习和...
阅读全文 →
Object对象提供了一个复制对象属性的方法:Object.assign(),在我们需要将一个或多个对象属复制到目标对象时,可以使用这个方法。Object.assign()会把一个或多源对象的可枚举(可访问)属性复制给目标对象。
assign()语法结构
assign()与Underscore的_.extend方法
assign()方法的使用
...
阅读全文 →
在ECMAScript中,Object是一个特殊的对象。它本身是一个顶级对象,同时还是一个构造函数,可以通过它(如:new Object())来创建一个对象。我们可以认为JavaScript中所有的对象都是Object的一个实例。
Object类型与对象的定义
Object类型的属性和方法
2.1 实例属性与方法
2.2 类属性与方法
...
阅读全文 →