易截截图软件、单文件、免安装、纯绿色、仅160KB

Javascript 继承机制和构造方法链实现

首先是我们熟悉的extend函数 
/**
* 扩展函数
* @param target 扩展对象
* @param params 扩展参数
*/
function extend(target, params) {
if (!target) {
target = {};
}
for (var prop in params) {
target[prop] = params[prop];
}
return target;
}  
接下来继承函数
/**
* 继承函数
* @param SuperClass 父类
* @param overrides 重写方法
*/
function extendClass(SuperClass, overrides) {
var SubClass = function() {
// 自动调用构造函数
this.initialize.apply(this, arguments);
};

SubClass.prototype = new SuperClass();

extend(SubClass.prototype, overrides);

SubClass.superclass = SuperClass;

return SubClass;
}  
测试代码
var Animal = extendClass(Object, {
initialize: function(name){
this.name = name;
},

showName: function(){
alert(this.name);
}
});

var Cat = extendClass(Animal, {
initialize: function(name) {
// 调用父类构造函数
Cat.superclass.prototype.initialize.call(this, name);
}
});

var BlackCat = extendClass(Cat, {
initialize: function(name, type) {
// 调用父类构造函数
BlackCat.superclass.prototype.initialize.call(this, name);
this.type = type;
},
showType: function() {
alert(this.type);
},
showName: function() {
alert(this.name + ":" + this.type);
}
});


var cat = new Cat("cat name");
// 继承方法
cat.showName();

// true
alert(cat instanceof Animal);

// true
alert(cat instanceof Cat);

// false
alert(cat instanceof BlackCat);

var blackCat = new BlackCat("123", "black");

// 方法重写
blackCat.showName();

// 自有方法
blackCat.showType();

// true
alert(blackCat i


相关文档:

JavaScript 正则表达式替换

简单的例子,自己看看,省得以后老是去找了。
<script language="javascript">
//用正则替换将X替换成y
var s="daxdasx";//原字符串
var k="x";//被替换的字段
var re = new RegExp(k,"g");
alert("替换前字符串为:"+s);
s = s.replace(re,"y");
alert("替换后字符串为:"+s);
</script> ......

JavaScript中匿名函数,函数直接量和闭包(转)

原文出处: http://www.dnew.cn/post/196.htm
先看下下面几种写法
1.function f(x){return x*x;};f(x);
2.(function(x){return x*x;})(x);
3.(function(x){return x*x;}(x));
第一种我们应该都很熟悉了,这是我们经常使用的写法。第二第三种都是匿名函数的写法。
------------------------------------------------ ......

javaScript关闭浏览器 (不弹出提示框)

一段JavaScript脚本程序,负责关闭窗口,如果网页不是通过脚本程序打开的(window.open()),调用window.close()脚本关闭窗口前,必须先将window.opener对象置为null,否则浏览器(IE7、IE8)会弹出一个确定关闭的对话框。
<script language="javaScript">
function closeWindow()
{
 window.opener = null;
 w ......

Javascript: setTimeout()使用及 setInterval()使用

Evaluates an expression after a specified number of milliseconds has elapsed.
(在指定时间过后执行指定的表达式)
Syntax:
iTimerID = window.setTimeout(vCode, iMilliSeconds [, sLanguage])
Parameters
vCode
Required. Variant that specifies the function pointer or string that indicates the code to be ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号