09 2013 档案

javascript中call和apply方法
摘要:我们可以将call和apply看做是某个对象的方法,通过调用方法的形式来间接调用函数。call和apply的第一个实参是要调用函数的母对象,它是调用上下文,在函数体内通过this来获得对它的引用。例如,如果要想以对象o的方法来调用函数f,可以按如下的方式使用call和apply方法: f.call(o); f.apply(o);可以按如下的代码来理解: o.m = f; //将f存储为o的临时方法 o.m(); //调用这个临时方法 delete o.m; //将这个临时方法删除来个示例吧。 function testFun(){ return this.a + t... 阅读全文

posted @ 2013-09-24 12:49 ArthurPatten 阅读(1639) 评论(3) 推荐(3)

javascript闭包
摘要:在学习javascript闭包之前,需要先了解一下"作用域链"。每一段javascript代码都有一个与之关联的作用域链(scope chain),这个作用域链是一个对象列表或者链表,这组对象定义了这段代码"作用域中"的变量。当javascript需要查找变量x的值的时候,它会从链中的第一个对象开始查找,如果这个对象有一个名为x的属性,则会直接使用这个属性的值,如果第一个对象不存在名为x的属性,javascript会继续查找链上的下一个对象。如果第二个对象依然没有名为x的属性,则会继续查找下一个对象,以此类推。如果作用域链上没有任何一个对象含有属性x,那 阅读全文

posted @ 2013-09-23 23:08 ArthurPatten 阅读(1125) 评论(2) 推荐(1)

javascript获取选中的文本/html
摘要:首先来谈一下Selection对象和Range对象。 Selection是window.getSelection()方法返回的一个对象,用于表示用户选中的文本区域。Selection对象表现为一组Range对象。而Range对象表示文档的连续范围区域,例如用户在浏览器窗口中用鼠标拖动选中的区域。通常情况下,Selection对象只有一个Range对象,如下: var selectionObj = window.getSelection(); var rangeObj = selectionObj.getRangeAt(0); selectionObj为Selection对象,ra... 阅读全文

posted @ 2013-09-12 18:46 ArthurPatten 阅读(16756) 评论(3) 推荐(5)

javascript函数定义表达式和函数声明的区别
摘要:在javascript中,函数有两种定义写法,函数定义表达式和函数声明,其例子分别如下所示: var test = function(x){ return x; } function test(x){ return x; } 尽管函数定义表达式和函数声明语句包含相同的函数名,并且都创建了新的函数对象,但是这二者却有区别。 函数声明语句中的函数名是一个变量名,变量指向函数对象。 函数定义表达式和通过var声明变量一样,其函数被提前到了脚本或函数的顶部,因此它在整个脚本和或函数内都是可见的。这样的话,只有函数变量声明提前了,函数的初始化代码仍然在原来的位置。但是使用函... 阅读全文

posted @ 2013-09-03 08:41 ArthurPatten 阅读(2762) 评论(1) 推荐(0)

导航