var a = {
        toString:lw()
    }
function lw(){alert(2)}
alert(a);注:这里的冒号到底是什么用法?JavaScript

解决方案 »

  1.   

    a对象,toString属性,":"表示toString属性为lw();   初学者
      

  2.   

    这个是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();
      

  3.   

    我是这么理解的,相当于把lw()赋值给toString,那么toString就和lw()一样了,定义的a对象里的属性toSTring其实就是一个lw()方法!
      

  4.   

    JSON格式的变量本质上就是JS里的Object对象。
    var a = {
             toString:lw()
         }
    实际上就是创建了一个对象a,这个a定义了一个名字叫toString的方法,该方法的内容就是lw函数。而JS的Object对象本身其实默认自带toString方法,所以这个lw函数就把默认toString方法给覆盖了。