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
相关文档:
<input type=button value=刷新 onclick="window.location.reload()">
<input type=button value=前进 onclick="window.history.go(1)">
<input type=button value=后退 onclick="window.history.go(-1)"> ......
JavaScript进行GET和POST请求
Web上最常见的请求就是GET请求.每次在浏览器中输入URL并打开也米纳市,就是在向服务器发送一个GET请求.
GET请求:
GET请求的参数使用问号追加到URL的结尾,后米纳给这用&好连接起来的名称/值.例如:
http://www.somewhere.com/page.php?name1=value1&name2=value2&name3=value3
......
js的Function对象在调用过程中具有一个arguoments属性,它是由脚本解释器创建的,这也是创建arguments对象唯一途径。arguments对象可以看做是一个Array对象,它具有length属性,可以通过序号访问每一个参数。而且,通过arguments 的callee属性可以获取对只在执行的Function对象的引用,如下 ......
一段JavaScript脚本程序,负责关闭窗口,如果网页不是通过脚本程序打开的(window.open()),调用window.close()脚本关闭窗口前,必须先将window.opener对象置为null,否则浏览器(IE7、IE8)会弹出一个确定关闭的对话框。
<script language="javaScript">
function closeWindow()
{
window.opener = null;
w ......
//获取当前文件全路径
<script language="javascript">
alert(window.location.href);
alert(window.location);
alert(location.href);
alert(parent.location.href);
alert(top.location.href);
alert(document.location.href);
alert(document.URL);
</scri ......