JavaScript DOM2和DOM3——“DOM的变化”的注意要点

2015-12-22
阅读 5 分钟
3.8k
DOM2和DOM3级分为许多模块,分别描述了DOM的某个非常具体的子集。这些模块主要有核心(Core)、视图(Views)、事件(Events)、样式(Style)、遍历和范围(Traversal and Range)以及HTML。

JavaScript DOM扩展——“专有扩展”的注意要点

2015-12-21
阅读 4 分钟
3.5k
页面的文档模式是由IE8引入的,文档模式决定了可以使用的CSS级别、JS中的API以及如何对待文档类型(doctype);在IE9,提供了4中文档模式:

JavaScript DOM扩展——“HTML5”的注意要点

2015-12-18
阅读 6 分钟
3.7k
与类相关的扩充 getElementsByClassName()方法 接收一个参数,即一个或多个类名的字符串。如: {代码...} 他返回的对象是NodeList。 classList属性 该属性是DOMTokenList 的实例。主要的方法有: add(value) contaiin(value) remove(value) toggle(value) 如: {代码...} 如果不用classList属性,则需要通过className属...

JavaScript DOM扩展——“选择符API和元素遍历”的注意要点

2015-12-16
阅读 3 分钟
2.5k
Selector API Level1 的核心就是两个方法:querySelector()和querySelectorAll()。实际上,jQuery的核心就是通过CSS选择符查询DOM文档取得元素的引用。

RegEx 快速掌握最基本的正则语法

2015-12-14
阅读 2 分钟
3.5k
最近研究js客户端检测遇到了各种复杂的正则表达式,在一阵阵晕眩之下买了本大神推荐的正则入门书籍——《正则必知必会》。感觉挺不错的入门书,轻松之下就不知不觉学了蛮多的东西。废话少说,直接来列表:

JavaScript DOM——“DOM操作技术”的注意要点

2015-12-14
阅读 6 分钟
3.5k
动态脚本 插入外部脚本文件 以script元素为例: {代码...} 使用DOM动态的创建出这个元素: {代码...} 行内方式插入脚本文件 以行内脚本代码为例: {代码...} 使用DOM动态的创建出这个元素: {代码...} 但在IE中会报错,解决办法是使用script元素的text属性: {代码...} 最终通用的解决方案如下: {代码...} 实际上在全局...

细节:js DOM 节点层次示意图

2015-12-11
阅读 1 分钟
3.1k

JavaScript DOM——“节点层次”的注意要点

2015-12-11
阅读 18 分钟
7.4k
几个概念: DOM:文档对象模型,是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。 根节点:就是 Document 节点。 nodeType: 所有节点的属性,用于表明节点的类型。 Node 类型 DOM1 级的接口,该接口除了 IE 之外,在其他所有浏览器中都可以访问到这个类型。 节点类型由在 Node 类型中定义的下列 12 个数值常量...

问题:There are no packages available for installation 问题的解决办法

2015-12-09
阅读 2 分钟
12.7k
So many Sublime Text 2 users get error (or) no action when they want to install any sublime text 2 package @via Package Control. When I'm clicked on Package Control: Install Package from Ctrl+Shift+P. I got this below error: There are no packages available for installation

JavaScript 客户端检测——“用户代理检测”的注意要点

2015-12-04
阅读 5 分钟
5k
通过 JavaScript 的 navigator.userAgent 属性访问。在服务器端,通过检测用户代理字符串来确定用户使用的浏览器是一种常用的做法;但在客户端,用户代理检测一般为最低优先级。

实验:js 用正则验证手机号v1 (没考虑段号)

2015-12-03
阅读 2 分钟
2.7k
刚接触正则就被这个玩意儿吸引了,实在是强大。随便写了个验证手机号的代码。 btw:[链接]这个网站对学习正则真的非常好用。 {代码...}

JavaScript 客户端检测——“能力检测”的注意要点

2015-12-01
阅读 3 分钟
5.4k
不到万不得已,就不要使用客户端检测。只要能够找到更通用的方法,就应该优先采用更通用的方法。先设计最通用的方案,然后再使用特定于浏览器的技术增强该方案。

JavaScript BOM——“screen 对象”和“history 对象”的注意要点

2015-12-01
阅读 1 分钟
3.4k
screen 对象 用处不大,screen 对象基本上只涌来表明客户端的能力: {代码...} history 对象 可以通过 history 对象借由用户访问过的页面列表,在不知道实际 URL 的情况下实现后退和前进。 go()方法 接收一个参数,表示向后或向前跳转的页面数的一个整数值。负数表示向后跳转,正数表示向前跳转。如: {代码...} 也可以...

JavaScript BOM——“navigator 对象”的注意要点

2015-11-30
阅读 3 分钟
3.8k
navigator 简单介绍 下面是存在于所有浏览器中的属性和方法(注释:没有应用于 navigator 对象的公开标准,不过所有浏览器都支持该对象。): {代码...} 如: {代码...} 具体检测显示网页的浏览器类型将在下一章节讨论。 检测插件 {代码...} 上述代码在 IE 中无效。 {代码...} 上述代码用来检测 IE 中的插件,但标识符不同...

JavaScript BOM——“location 对象”的注意要点

2015-11-30
阅读 1 分钟
4.4k
location 是最有用的 BOM 对象之一,它提供了与当前窗口中加载的文档有关的信息。还提供了一些导航功能。下面是 location 对象的所有属性:

JavaScript BOM——“window 对象”的注意要点

2015-11-30
阅读 8 分钟
6.1k
定义全局变量与在 window 对象上直接定义属性还是有一点差别:全局变量不能通过 delete 操作符删除,而直接在 window 对象上的定义的属性可以。如:

细节:js 创建对象的几种模式举例

2015-11-29
阅读 2 分钟
2.3k
工厂模式(不推荐) {代码...} 应该把方法放在函数的外面,避免重复创建该方法; 定义的不是构建函数,因该使用var 方法创建实例,而不是new 方法; 不要忘记在函数的最后return obj; 构造函数模式(不推荐) {代码...} 使用this指代,函数无需明确return; 应该把方法放在函数的外面,避免重复创建该方法; 原型模式(...

细节:js 私有作用域中创建特权方法

2015-11-28
阅读 1 分钟
2.8k
这里就可以看出实际上就是在私有作用域中定义了一个全局的构建函数;其中的一个方法就是返回私有作用域中的一个私有变量和属性。写成下面这样就可以更好地了解:

细节:js 函数闭包的演化和简化过程推导

2015-11-27
阅读 1 分钟
2.3k
{代码...} 按理说访问函数里面的变量只能再函数里面再建立一个函数才能访问到。 {代码...} 外层加上一个return 里面的函数,注意返回的是函数,所以外面的h 仍然为函数。调用的时候要写成h()。 {代码...} 然后开始简化 {代码...} 继续简化 {代码...} 在调用函数的时候也可以简化成多个括号

JavaScript函数表达式——“函数模仿块级作用域及函数的私有变量”的注意要点

2015-11-27
阅读 3 分钟
3.1k
模仿块级作用域 在块级语句中定义的变量,实际上是包含函数中而非语句中创建的。如: {代码...} ()()方法模仿块级作用域 通常用块级作用域(私有作用域)的匿名函数的语法来解决这个问题: {代码...} 无论什么地方,只要临时需要一些变量,就可以使用私有作用域,如: {代码...} 又如: {代码...} 这样一来,变量i 只能...

细节:js 函数闭包内存泄露的解决办法举例

2015-11-26
阅读 2 分钟
4.7k
首先,该例子组合使用了构造函数模式和原型模式创建Cars 对象,并用了寄生组合式继承模式来创建Car 对象并从Cars 对象获得属性和方法的继承;

JavaScript函数表达式——“函数的递归和闭包”的注意要点

2015-11-26
阅读 7 分钟
3.4k
创建函数的两种方式,一个是函数声明(如第一种方式);一个是函数表达式(如第二种方式)。第二种函数创建方式创建的函数叫“匿名函数”或“拉姆达函数”,因为function 关键字后面没有标识符。

细节:js 对象继承的几种模式举例

2015-11-25
阅读 5 分钟
2k
原型链继承 {代码...} 借用构造函数(伪造对象,经典继承) 无参数 {代码...} 有参数 {代码...} 组合继承(伪经典继承) 无参数 {代码...} 有参数 {代码...} 寄生组合式继承(引用类型最理想的范式) {代码...} 或者可以把inheritPrototype 函数写成下面这样: {代码...} 原型式继承(用于共享引用类型的值,与寄生式类...

JavaScript面向对象的程序设计——“对象继承”的注意要点

2015-11-24
阅读 8 分钟
3k
继承分为接口继承和实现继承;接口继承只继承方法签名,实现继承则继承实际的方法;由于函数没有签名,所以ECMAScript 中没有接口继承,只能依靠原型链来实现实现继承。

细节:js 原型对象与for-in 方法枚举的问题

2015-11-23
阅读 2 分钟
2.3k
js 原型对象与for-in 方法枚举的问题 原型属性的[[enumerable]]属性与for-in 的枚举问题 有的时候[[enumerable]]设置成false 时仍然会被for-in 方法枚举到。详细情况如下: {代码...} 这里原型对象存在name 属性,person1 的name 属性enumerable 为true,可以枚举。 {代码...} 这里原型对象存在name 属性,person1 的nam...

JavaScript面向对象的程序设计——“创建对象”的注意要点

2015-11-23
阅读 12 分钟
3.5k
Object 构造函数或对象字面量都可以用来创建单个对象。但这个方法的缺点非常明显:同一个接口创建很可耐多对象会产生大量的重复代码。为了解决这个问题,人们开始使用工厂模式的一种变体。

JavaScript面向对象的程序设计——“对象的基本概念”的注意要点

2015-11-20
阅读 5 分钟
2.6k
这里借用了Math.PI,最后的结果是无论调用的是math.π还是Math.PI都会返回圆周率的值。其中,前者就是我们自己自定义的对象。又如:

JavaScript引用类型——“单体内置对象”的注意要点

2015-11-19
阅读 3 分钟
3.1k
单体内置对象就是开发人员不必显式地实例化内置对象,因为他们已经实例化了。前面的章节讨论过了大多数内置对象,ECMA-262 还定义了两个单体内置对象:Global 和Math。

JavaScript引用类型——“基本包装类型”的注意要点

2015-11-19
阅读 9 分钟
2.8k
为了操作的遍历,ECMAScript 还提供了3 个特殊的引用类型: Boolean、Number 和String。引用类型和基本包装类型的主要区别就是对象的生存期。自动创建的基本包装类型的对象只存在于一行代码的执行瞬间,随后就会被销毁。

JavaScript引用类型——“Function类型”的注意要点

2015-11-17
阅读 5 分钟
3.6k
Function 类型 每个函数都是Function 类型的实例。函数名实际上就是一个指向函数对象的指针,不会与某个函数绑定。 函数声明方式创建Function,语法如下: {代码...} 函数表达式定义Function,用var 如下: {代码...} 第二种方法不要忘记在结尾加上分号 另外还可以使用Function 构造函数。如: {代码...} 非常不推荐使用...