关于javascript的“静态类"
(以下问题仅针对javascript而提,请注意,如果连说法都有问题,请笑过就行)
1、什么是 静态类/伪静态类
2、javsscript中书写静态类的语法是怎么样的?(包括数组,常量啊什么的,要完全)
3、就您的解释给一个简单的例子
关键是第二条,其他的可以不说
静态类就是顶级类 比如Math类 说的通透点其实就是全局变量,只不过这个变量不是你自己定义的 而是JS自己定义好的 你只管用就行了 不如用Math类根本就不用创照对象 假如你想求一个圆的面积 只须这样 s=Math.PI*r*r 变量r是要首先申明的
还有静态方法之类的 都差不多 比如要创照一个字符串 可用string类的静态方法fromCharCode(value1,value2,value3.....) 只须这样
str=String.fromCharCode(value1,value2,value3.....)
var Hutia_Hate_StaticClass={
name:"hutia", // A property
sex:"unknown", // Another property, be aware that you should use , to devide two variable
talk:function(words){ // The method for the object
alert(words);
}
}
Hutia_Hate_StaticClass.talk("I am "+Hutia_Hate_StaticClass.name);
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
首先谢谢可爱的WT1985和亲爱的hutia:D ,谢谢你们的帮助
我弄明白了这个东西的本质了,从hutia的例子中也算是搞明白了大部分东西,我先说下我的理解哈:
1、这个东西说穿了就是(全局变量/不需要实例化就能用的构造函数)
2、这个东西可以起到类似于其他语言中“类”作用
3、这个东西语法大致和平时的写法一样,不过得改成
(属性名/方法名):(属性值/方法描述)
4、每个属性用“,”隔开
那么
function funcname(ipt1) 写成 funcname function(ipt1)
var str="value" 写成 str:"value"
var myarray=new Array() 写成 myarray:[](这个是看我佛山人的例子猜的)
那么其他对象的语法规则呢?前两个还大约可以猜出来,可是声明数组的那个“[]”符号如果不看我佛山人的例子的话,就根本不知道,有一个具体的规则么?哪位大哥哥大姐姐再来解释下:confused:
你总结的很对,没什么问题的说
至于你最后的那个疑问,其实也只不过是 JS 的语法而已
a=new Array(); a[0]=1; a[1]=2;
就等同于
a=[1,2];
类似的还有
a=new Object(); a.name="hutia";
就等同于
a={ name:"hutia" }
总的说来,JS 还是有很多生僻的语法的,再举个例子
搞怪的语法
(function(name){window["eval"]("alert('I am "+name+"')");})("hutia")
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]