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.....)
相关文档:
用jquery-1.2.3做过几个应用,觉得很好用. 这么快,1.4版又发布了,来自csdn的报道:
CSDN报道 来自jquery官方网站的消息,目前最流行的JavaScript/Ajax库jQuery新版本1.4已经发布,为jQuery项目4周年14天庆祝送上一份大礼。
1.4的压缩版只有23K,未压缩版154K。此外,Google也在自己的服务器上提供了副本,作为Google Ajax A ......
网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight ......
【转自】http://www.cnblogs.com/chenxizhang/archive/2009/05/27/1491049.html
1. 标准的方法
<script type="text/javascript">
function openWin(src, width, height, showScroll){
window.showModalDialog (src,"","location:No;status:No;help:No;dialogWidth:"+width+";dialogHei ......
FRAMESET 标签是 FRAME 元素的容器。
HTML 文档可包含 FRAMESET 元素或 BODY 元素之一,两者不能同时使用。
框架将网页分成几个框窗,同时取得多个URL。用<FRAMESET> <FRAME> 即可,所有框架标记需要放在一个总起的 html 文档里,这个档案只记录了该框架如何分割 ,不会显示任何资料,所以不必放入 <BODY& ......