当前位置:编程学习 > JAVA >>

JS有这个重写语法

var a = {
        toString:lw()
    }
function lw(){alert(2)}
alert(a);

注:这里的冒号到底是什么用法? JavaScript --------------------编程问答-------------------- a对象,toString属性,":"表示toString属性为lw();   初学者 --------------------编程问答-------------------- 这个是javascript创建实例对象的一种标准的方式-->Json,看看下面几个例子你应该就懂了。

/**
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();
--------------------编程问答-------------------- 就是创建a对象的tostring方法 --------------------编程问答-------------------- 我是这么理解的,相当于把lw()赋值给toString,那么toString就和lw()一样了,定义的a对象里的属性toSTring其实就是一个lw()方法! --------------------编程问答-------------------- JSON格式的变量本质上就是JS里的Object对象。
var a = {
         toString:lw()
     }
实际上就是创建了一个对象a,这个a定义了一个名字叫toString的方法,该方法的内容就是lw函数。

而JS的Object对象本身其实默认自带toString方法,所以这个lw函数就把默认toString方法给覆盖了。 --------------------编程问答-------------------- 理解同上
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,