JavaScript NameSpace
命名空间,一看就知道主要目的是为了避免冲突。下面就来说一下如何打造自己的JavaScript命名空间。
打造JavaScript命名空间其实很简单,只需要将自己的函数、对象、变量等放在一个伪命名空间中,即用一个匿名函数包装起来。
(function(){
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
})();
使用这种伪命名空间可以封装并保护自己的所有函数、对象、变量,而且由于他们位于一个函数之中,相互之间也可以互相访问。不过伪命名空间之外的脚本就无法使用这些函数了。
为了使这些函数可以被伪命名空间之外的脚本调用,我们首先创建一个window对象。
(function(){
if(!window.myNamespace){window['myNameSpace']={};}
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
})();
然后将要全局化的函数重命名一下(也可以不重命名)赋给window对象window['myNameSpace']。
(function(){
if(!window.myNamespace){window['myNameSpace']={};}
function $(id){
return document.getElementById(id);
}
function alertNodeName(id){
alert($(id).nodeName);
}
window['myNameSpace']['showNodeName'] = alertNodeName;
})();
这样我们就打造了一个自己的命名空间。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
相关文档:
在表单提交前经常遇到表单验证问题而常用的方法有以下两种:
1、使用提交按钮提交,在form表单中的onsubmit事件进行表单验证:
<script type="text/javascript">
& ......
Javascript中最常用的55个经典技巧 收藏
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 ......
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>无标题页</title>
<mce:script language="javascript" type="te ......
私有成员就是在类的内部实现中可以共享的成员。但是并不对外公开,JavaScript中并没有特殊的机制来定义私有成员,但是可以用一些技巧来实现这个功能。主要是通过变量的作用域性质来实现的,在一个函数内部定义的变量称为局部变量,该变量不能被函数外的程序所访问,可以被函数内部定义的嵌套函数所访问。
在类的构造函数中 ......