namsepace.class.object,这样就可以避免由于object重名所导致的问题.
由于javascript是一种解释型语言,在javascript中,如果定义两个同名函数或者变量,系统会用最后一个函数或变量来替换前一个函数和变量,
如果是一个的单人开发的系统,则不会产生很多异常,因为可以人为的控制这些命名的唯一,如果是大型多人协同开发系统,则可能产生很多异常,增加程序的调试难度。
举例说明命名空间必要性
例如我们编写一个页面 引入jquery框架,然后我们在页面里面自定义一个$函数,那么$ 函数可能会失效,或者产生莫名其妙的现象
命名空间使用
<input type="button" value="命名空间使用" onclick="(new namespace()).$()"/>
<script type="text/javascript">
function namespace(){
this.$=function(){
alert(‘命名空间使用!’)
}
}
</script>
这种写法,其实就是在namespace下定义了一个$
简化每次都 new namespace
<input type="button" value="命名空间使用" onclick="t.$()"/>
<script type="text/javascript">
(function namespace(){
this.$=function(){
alert(‘命名空间使用!’)
}
window.t ={}
window.t=this
})()
</script>
进阶篇
在一个命名空间里面可以像 C# java一样包含很多变量和方法
<input type="button" value="命名空间使用" onclick="t.$()"/>
<input type="button" value="命名空间简化调用" onclick="method3()"/>
<input type="button" value="命名空间method2使用" onclick="t.method2()"/>
<input type="button" value="命名空间method3使用" onclick="t.method3()"/>
<input type="button" value="命名空间a变量赋值使用" onclick="t.a=999"/>
<script type="text/javascript">
(function namespace(){
this.$=function(){
alert(‘命名空间使用!’)
}
this.method2=function(){
alert(“this method 2!”)
}
this.a=”888″
this.method3=function(){
alert(“命名空间内部变量:a”+a)
}
window.t ={}
window.t=this
window.t.method3=method3
})()
</script>
您好:ajax.LoginTo(name, pass, _page)//ajax未定义.说明您在调用之前没有引用这个AJAXPro1的js库.在页面的顶部也就是<script type="text/javascript"></script>之前引入下载的AjaxPro这个js库就可以了.还有这个库应该是基于Jquery的,所以还得引入Jquery的库才可以用哦.