javascript 之 Closure
http://javascript.crockford.com/private.html
function a() {
var i = 0;
function b() {
alert(++i);
}
return b;
}
var c = a();
c();
当在函数b中访问一个变量的时候,搜索顺序是:
先搜索自身的活动对象,如果存在则返回,如果不存在将继续搜索函数a的活动对象,依次查找,直到找到为止。
如果函数b存在prototype原型对象,则在查找完自身的活动对象后先查找自身的原型对象,再继续查找。这就是Javascript中的变量查找机制。
如果整个作用域链上都无法找到,则返回undefined。
function Container(param) {
this.member = param;
}
var myContainer = new Container('abc'); //member='abc'
Container.prototype.stamp = function (string) {
return this.member + string;
}
myContainer.stamp('def') //member='abcdef'
function Container(param) {
//private method
function dec() {
if (secret > 0) {
secret -= 1;
return true;
} else {
return false;
}
}
this.member = param;
var secret = 3;
var that = this;
//privileged method
this.service = function () {
if (dec()) {
return that.member;
} else {
return null;
}
};
}
myContainer.service() //abc(first) null(second.....)
相关文档:
页面内嵌不同的网页内容时,导致iframe的高度无法与实现内容或浏览器高度相匹配。窗口大小变换时,不能iframe不能进行自动调整。这里,我们利用JAVASCRIPT让IFRAME框架的高度自适应。
首先,写出如下的JS方法。
/**
* 内嵌页面的高度设置
*/
function handleFrameLoad() {
var hDoc = getBodyHeight(document);
var ......
【转】http://www.cnblogs.com/chenxizhang/archive/2010/01/02/1638010.html
本文转载自:http://www.cn-cuckoo.com/2007/08/01/understand-javascript-closures-72.html
要成为高级 JavaScript 程序员,就必须理解闭包。
本文结合 ECMA 262 规范详解了闭包的内部工作机制,让 JavaScript 编程人员对闭包的理解从&ldquo ......
【转】http://www.cnblogs.com/chenxizhang/archive/2010/01/01/1637309.html
如果我们需要在javascript访问到页面中定义的变量,大致是如下的语法
//这是2010年1月1日增加的代码
var ismanager = "<%= DepartManager %>";
if (ismanager == "true") {
$(" ......
以下是javaScript中的String使用方法:
String 类 Attribute and method
anchor() 创建一个<a>标签的实例,将其name属性设置为被传递给此方法的字符串
big() & ......
1.无提示刷新网页
大家有没有发现,有些网页,刷新的时候,会弹出一个提示窗口,点“确定”才会刷新。
而有的页面不会提示,不弹出提示窗口,直接就刷新了.
如果页面没有form,则不会弹出提示窗口。如果页面有form表单
a)<
form method="post" ...> 会弹出提示窗口
b)< form method="get" ...& ......