怎么给js插件定义namespace

怎么给js插件定义namespace,第1张

从事Web开发不可避免要接触JavaScript,目前最新版本的JavaScript还是不支持命名空间,所以命名冲突的问题凸显无疑,想象一下你引用了两个js文件,却发现由于命名问题导致你不得不放弃其中一个,从而导致多写了许多代码,无疑是十分令人沮丧的。在JavaScript新版本引入命名空间概念之前,发扬自立更生精神和创造性是我们程序员的基本义务-)

实现前提:与Delphi、C#等语言不同,JavaScript中的类并不是对象的定义,事实上JavaScript中并不存在真正的类,这里的类实际上是用函数模拟实现的,而JavaScript中的函数实际上是一个对象,因此在JavaScript中:一个类就是一个对象。这和传统概念概念极为不同,在JavaScript中,创建某个类的实例实际上就是将类(=对象,记住)复制了一份。看到这里,有点设计模式概念的应该就可以看出来了,在JavaScript中,类机制使用了原型(prototype)模式。

//先定义 YAHOO

// JavaScript Document

if (typeof YAHOO == "undefined" || !YAHOO) {

var YAHOO = {}

}

YAHOO.namespace = function() {

var a=arguments, o=null, i, j, d

for (i=0i<a.lengthi=i+1) {

d=a[i].split(".")

o=YAHOO

for (j=(d[0] == "YAHOO") ? 1 : 0j<d.lengthj=j+1) {

o[d[j]]=o[d[j]] || {}

o=o[d[j]]

}

}

return o

}

//使用

YAHOO.GetClassName=function(num){

switch (num){

case 1:

return "typeTd1"break

case 2:

return "typeTd2"break

case 3:

return "typeTd3"break

}

}

不知道你想要的是不是这种?

namespace是名字空间的意思。

javascript是没有这个关键字的。

你是不是用了其他语言的语法高亮提示。比如说C++,java,C#之类的。

我记得vs6在编辑器里点右键就可以设置用什么语法高亮。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11916792.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存