Javascript 设计模式
Javascript
是一个很强大很灵活的语言,你既可以把它当作面向过程的语言,也可以把它当作面向对象的语言来用。这篇主要探讨一下如何用javascript来实现一个
Singleton类。相信有些编程经验的朋友们对Singleton模式都很熟悉。Singleton
模式主要用来限制一个类的多次实例化。一般来说系统创建的实例越少,占用资源则越少,效率就越高。
1 类图
2 实现
function Singleton()
{
if (Singleton.caller != Singleton.getInstance)
{
throw new Error("此类不支持公共构造函数!请调用Singleton.getInstance函数");
}
else
this.status = "creating";
}
Singleton._instance = null; //定义静态成员变量
Singleton.getInstance = function()
{
if (this._instance == null)
this._instance = new Singleton();
return this._instance;
}
3. 测试
先来试试看能否new 一个实例出来
var singleton1 = new Singleton();
alert (singleton1 .status);
运行结果如下:
结果如预料中一样不成功。
再来试试调用getInstance()来获得实例
var singleton1 = Singleton.getInstance();
alert (singleton1 .status);
运行结果如下:
这次看到创建成功了。
相关文档:
javascript是不能直接比较两个数组是否相等的。例如:
var a = [1,2,3];
var b = [1,2,3];
alert(a == b); // false
结果是 false. 证明两个数组不能直接比较相等。
解决方法一:
先排序,再利用toString方法,比较。例如:
var a = [1,2,3];
var b = [1,2,3];
alert(a.sort().toString() ......
为了实现checkbox多选验证,使用jquery.validate , 无法实现自定义错误信息。上午Linchun带着我一块儿看jquery.validate.js 的源代码,发现优秀的代码真的是对JavaScript用的炉火纯青~ :)
delete 运算符:
是ECMAScript一元运算符。一元运算符只有一个参数,即要操作的对象或值。它们是 ......
在写读后感之前,先自我介绍一下,本人,男,24岁,未婚,资浅.NET程序员,在读此书之前已经能够熟练的利用JavaScript进行表单的一般验证(通过document.getElementById获取出文本框的值后再进行if...else...判断)。
刚刚拿到此书,心情好一番激动,沃~~~新华字典,长约26CM,宽约18CM,高约3.5 ......
meta是用来在HTML文档中模拟HTTP协议的响应头报文。
meta 标签用于网页的<head>与</head>中,meta 标签的用处很多。
meta 的属性有两种:name和http-equiv。name属性主要用于描述网页,
对应于content(网页内容),以便于搜索引擎机器人查找、分类
(目前几乎所有的搜索引擎都使用网上机器人自动查找m ......
近日收集上万行代码,整理一些出来。
//V8引擎的实现
function ToInteger( n ) {
n = Number( n );
var sign = ( n < 0 ) ? -1 : 1;
if ( n != n ) {
return 0;
}
if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY ) {
......