javascript框架之继承机制2
我们来模仿一下最OO的mootools的继承机制。它的类都有一个叫做initialize构造方法,这与Java的类都有一个与类名同名的构造方法一样的道理。只不过,这些叫initialize或init都是借鉴自Prototype,而Prototype那帮人是Ruby出身。为了区别mootools那种污染原生方法的做法,我把类的构造器命名为variant,并且禁止查看构造方法(像浏览器禁止查看原生对象的构造方法那样)。
var variant = function (options){
options = options || {};
var initialize = options.initialize || function(){};
var klass = initialize ;
klass.constructor = arguments.callee;
klass.prototype.constructor = klass;
klass.toString = function(){//禁止查看构造方法
return "function variant(){\n [variant code]\n}"
}
return klass;
};
var Person = variant({initialize:function(age){
this.age = age;
}});
alert(Person)//看不到构造方法的实现
var p = new Person(3);
alert(p)
alert(p.age);
alert(p.constructor);//看不到构造方法的实现
var P = variant({})
var a = new P;
alert(a);
运行代码
var variant = function (options){
options = options || {};
var initialize = options.initialize || function(){};
var klass = initialize ;
klass.constructor = arguments.callee;
klass.prototype.constructor = klass;
klass.toString = fu
相关文档:
using System;
using System.Data;
public partial class CheckBox:System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//生成DataTable并添加相应的列
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Autho ......
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="return false;" oncut="return ......
1、〖打开〗命令的实现
[格式]:document.execCommand("open")
[说明]这跟VB等编程设计中的webbrowser控件中的命令有些相似,大家也可依此琢磨琢磨。
[举例]在<body></body>之间加入:
<a href="###" onclick=document.execCommand("open")>打开</a>
2、〖使用 记事本 编辑〗命令的实现
......
JavaScript函数语法
函数是进行模块化程序设计的基础,编写复杂的Ajax应用程序,必须对函数有更深入的了解。javascript中的函数不同于其他的语言,每个函 数都是作为一个对象被维护和运行的。通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递。在继续讲述之前,先看一下函数的 使用语法: ......
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="return false;" oncut="re ......