JS有这个重写语法
var a = {toString:lw()
}
function lw(){alert(2)}
alert(a);
注:这里的冒号到底是什么用法? JavaScript --------------------编程问答-------------------- a对象,toString属性,":"表示toString属性为lw(); 初学者 --------------------编程问答-------------------- 这个是javascript创建实例对象的一种标准的方式-->Json,看看下面几个例子你应该就懂了。
--------------------编程问答-------------------- 就是创建a对象的tostring方法 --------------------编程问答-------------------- 我是这么理解的,相当于把lw()赋值给toString,那么toString就和lw()一样了,定义的a对象里的属性toSTring其实就是一个lw()方法! --------------------编程问答-------------------- JSON格式的变量本质上就是JS里的Object对象。
/**
json是用来创建对象实例的,并不是来定义类的
Grammar:
var jsonTest = {
field1:value1,
field2:value2,
field3:[value1,value2,value3,value4,...], //array
filed4:function(){...} //function
filed5:{filed1:value1,field2:value2..} //obj
}
*/
/**
var child1 = {
name:"asd的孩子1",
age:20
}
var child2 = {
name:"asd的孩子2",
age:21
}
var father = {
name:"asd",
age:51,
child:[child1,child2]
}
alert(father.child[1].name);
*/
var jsonobj = {
name:"father",
age:50,
init:function(){
alert(this.name+","+this.age);
}
}
jsonobj.init();
var a = {
toString:lw()
}
实际上就是创建了一个对象a,这个a定义了一个名字叫toString的方法,该方法的内容就是lw函数。
而JS的Object对象本身其实默认自带toString方法,所以这个lw函数就把默认toString方法给覆盖了。 --------------------编程问答-------------------- 理解同上
补充:Java , Java EE