JavaScript中可以写成类的模式 var JSfunction={ js函数,js变量等... },可是究竟里面有什么语法呢?
比如说:
var JSfunction={
gcGray:"#808080", //定义一个变量并赋值
showMess:function(){...} //定义一个方法
with(document){ //with 这一段代码写在这老会报脚本错误,我不明白是怎么回事
write("first");
write("second");
}
}
拜托各位大虾谁有这方面资料的提供啦。。
var obj={
gdCurDate:new Date(),
giYear:gdCurDate.getFullYear(), //date函数自带的方法
giMonth:gdCurDate.getMonth()+1,//date函数自带的方法
giDay:gdCurDate.getDate(),//date函数自带的方法
..........................
}
请问moming3381:以上这段代码我这样写啊是不行的,也要写到方法里面。是不是只有属性才可以直接写在方法外面,类里面呢?? 展开
JS类实际就是把js写成一个对象。当然对象有属性也有方法。
属性直接加其属性值在冒号后就可以如:
var obj = {
property1:"string property",
property2:100
}
方法就是把属性值变为方法体或外部方法名就可以了,如:
function exterfunc()
{
alert("这是一个外部函数将会变成下面obj对象的一个方法");
}
var obj = { method1: exterfunc,
method2: function(){alert("这是一个内部的匿名函数来充当obj的内部方法“);}
}
最后,把方法与属性放在同一个{}号内,并用,分开就形成了一个有属性有方法的对象了。
即:
var obj = {
property1:"属性1“,
property2:"属性2",
method1: function(){alert("内部匿名函数充当方法");},
method2:exterfunc
};
用的时候可以这样
obj.property1="我的名字";
obj.method1();
obj.method2();
以上是对js类的解答
如果你理解了上面的内容的话,你就会明白你的代码的错误了。
在with行开始,你这个即不是对象的方法,也不是对象的属性,那就是错误的了。
要实现你的with哪一段代码的功能,你应该把它放到一个方法函数内来
var JSfunction={
gcGray:"#808080", //定义一个变量并赋值
showMess:function(){...} //定义一个方法
getMess:function(){
with(document){ //with 这一段代码写在这老会报脚本错 误,我不明白是怎么回事
write("first");
write("second");
}
}
}
你代码只是像java中定义了一个类,并没有实际执行它,要执行它,就得实例化,就像上面说的obj1 = new obj(),然后才可以执行其方法,改变其属性,从而达到目的。
祝好运
补充:
修正了一些之前的说法,js类不需要实例化
属性只能是常量,不能是函数/方法
在定义方法时只是定义了方法的名称,不能在类中执行
你的写法是在类定义时就进行了了执行,所以是错误的
要实现你的功能
可以试试这个
代码粘不上来,看图吧
参考资料: http://www.gooddou.cn/lamp