- 浏览: 60300 次
- 性别:
- 来自: 深圳
最新评论
-
ZSYCW:
很好
关于代码整洁 -
haibin369:
babydeed 写道引用var array = [1, 2, ...
JavaScript中的数组相关方法 -
babydeed:
引用var array = [1, 2, 3, 4]; ...
JavaScript中的数组相关方法 -
haibin369:
greatghoul 写道那如何避免精度误差呢?
这个嘛,估计 ...
关于JavaScript的数值 -
greatghoul:
那如何避免精度误差呢?
关于JavaScript的数值
文章列表
整洁的代码只做好一件事!每个类,每个方法都应该专注于一件事。
选个好名字要花时间,但能省下更多的时间。一旦发现有更好的名称,就应该换掉旧的。
如果名称需要注释来补充,那就不算是名副其实。
方法名应该是动 ...
一、取得表单
//获得id为myForm1的<form/>
var myForm1 = document.getElementById("myForm1");
//获得name为myForm2的<form/>
//作为document的属性获得,非标准方式,不推荐
var myForm2 = document.myForm2;
//获得页面内所有<form/>的集合
var forms = document.forms;
//获得页面中第一个<form/>
var form0 = forms[0]; ...
1. offsetHeight:
元素在垂直方向上占用的空间大小,以像素计。包括元素的高度、(可见的)水平滚动条高度、上边框高度和下边框高度。
2. offsetWidth:
元素在水平方向上占用的空间大小,以像素计。包括元素的宽度、(可见的)垂直滚动条宽度、左边框高宽和右边框宽度。
3. offsetLeft:
元素的左外边框至包含元素的左内边框之间的像素距离。
4. offsetTop:
元素的上外边框至包含元素的上内边框之间的像素距离。
5. clientWidth:
元素内容区宽度加上左右内边距宽度(不包括边框宽度)。
6. clientHeight:
元素内容 ...
在JQuery中使用CSS选择器获取元素非常方便,其实Javascript也提供了原生API去通过CSS选择器取得元素:querySelector(), querySelectorAll(). (完整支持的浏览器有:IE 8+, Firefox 3.5+, Safari 3.1+, Chrome, Opera 10+)
以下是W3C对Selector API两个方 ...
一、Node
DOM模型定义了Node接口,在DOM中的每个节点都是一个Node(即实现了Node接口),每个Node都有自身的Node类型,可以通过nodeType属性返回的数值区分,以下是各种节点类型所对应的数值:
Node.ELEMENT_NODE: 1Node.ATTRIBUTE_NODE: 2Node.TEXT_NODE: 3Node.CDATA_SECTION_NODE: 4Node.ENTITY_REFERENCE_NODE: 5Node.ENTITY_NODE: 6Node.PROCESSING_INSTRUCTION_NODE: 7Node.COMMENT_NODE: ...
在Javascript中,每当对DOM执行一次操作(插入元素,删除元素等)会出发浏览器的重新解析和渲染,当我们需要一次过进行多次DOM插入操作的时候,可以借助DocumentFragment这个节点类型帮助减少浏览器的重新解析。
假设我们要在下面的<ul/>中插入10个<li/>
<ul id="ul"></ul>
一般做法:
var ul = document.getElementById("ul");
var li = null;
//循环往<ul/>插入<li/> ...
(部分摘自《Javascript高级程序设计》)
location对象既是document对象的属性,也是window对象的属性,也就是说,document.location === window.location.
location对象的属性
属性名
示例
说明
hash
#contents
返回url中的锚点名(#后的 ...
基本介绍: showModalDialog() (IE 4+ 支持) showModelessDialog() (IE 5+ 支持) window.showModalDialog() 方法用来创建一个显示HTML内容的模态对话框。 window.showModelessDialog() ...
在介绍yield前有必要先说明下Python中的迭代器(iterator)和生成器(constructor)。
一、迭代器(iterator)
在Python中,for循环可以用于Python中的任何类型,包括列表、元祖等等,实际上,for循环可用于任何“可迭代对象”,这其实就是迭代器
迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引发 StopIteration。任何这类的对象在Python中都可以用for循环或其他遍历工具迭代,迭代工具内部会在每次迭代时调用next方法,并且 捕捉StopIter ...
1. 基础选择器 Basics
名称
说明
举例
#id
根据元素Id选择
$("divId") 选择ID为divId的元素
element
根据元素的名称选择,
$("a") 选择所有<a>元素
.class
根据元素的css类选择
$(".bgRed") 选择所用CSS类为b ...
参考自《JavaScript高级程序设计》
<script type="text/javascript">
var EventUtil = {
//增加事件处理器
addEventHandler:function(element,type,handler){
if(element.addEventListener)
element.addEventListener(type,handler,false);
else if(element.attachEvent)
element.attachEv ...
1.对象冒充
对象冒充指的是在子类中使用子类的this冒充父类的this去执行父类的构造函数,从而获得了父类的属性和方法,但是这种方式只能继承父类构造函数中定义的属性和方法,原型上的任何属性和方法对子类都不可见:
//使用对象冒充实现继承
function SuperType()
{
this.prop = ["prop"];
this.method = function(){return "method";};
}
SuperType.prototype.protoProp ...
1.prototype(原型)
在JavaScript中,我们创建的每一个函数都有一个prototype(原型)属性,这个属性是一个对象,它的用途是保存某些可以被特定类型的所有实例所共享的属性或者方法。也就是说,当我们给某个函数Person的prototype增加属性或方法时,以Person为构造函数生成的所有实例都能访问到该属性或方法:
<script type="text/javascript">
//定义Person方法并创建两个Person实例
function Person(){}
var person1 = ...
<script type="text/javascript">
var array = [1, 2, 3];
//将数组元素反序
alert(array.reverse()); //3,2,1
alert(array); //3,2,1
//通过length属性改变数组容量
array.length = 5;
alert(array.length); //5
//可以根据数组内容动态改变容量
array[4] = 5;
alert(array); ...
在某些情况下,我们需要让某个类在全局只有一个实例(比如用于资源管理或者存储全局配置信息的类),这种情况下,如果我们不限制该类的创建,那么任何时候都可以使用new来创建对象。因此,我们要让该类自己创建对象并为系统提供方法去获得该唯一的对象,这种模式成为单例模式。
单例模式有许多种形式,下面列出几种常见的:
一、饿汉模式
饿汉中的“饿”表示即使我还没使用该对象,我也创建好,等到需要的时候就返回这个对象。
/**
* 饿汉模式
* 先初始化单例变量,当使用的时候返回该变量
*/
class Singleton
{
//开始便 ...