我在创建一个js函数的时候,有几种写法,怎么看了很多function的声明方式,,感觉乱糟糟的,理解不了了。demo: function() {  .  }
这种声明方式与
function demo(){   .......  }
有什么区别吗。
还有这么定义的:
Obj.prototype.nextStep=function (){  .......        }
各位,谁有空能腾出点时间帮忙疏导一下菜鸟.谢谢了
另外,声明一个函数的时候还有其它的奇怪方式,也一起贴上来看看.

解决方案 »

  1.   

    面向对象
    json
    你还是先打基础的好
    xxx:function这种方式一般在用json格式写对象时使用,理解了json的格式,自然知道其区别
    prototype用于继承,一般写组件或组件库时用它可以方便扩展,建议在有相当面向对象基础时再使用
      

  2.   


    嗯是,js这边确实刚接触内容很多,得去多学习下.
    xxx:function   xxx是表示的函数名吗,还是代表的json对象呢。
      

  3.   

    json[i]写法:
    {}表示对象,[]表示数组,嵌套使用可写出任意对象
    var obj ={
        a:'a',
        b:function(){
            alert('b');
            alert(this.c);
        },
        c:[1,2]
    };
    这样生成一个对象,拥有a b c三个成员,成员b为函数,调用方式:
    obj.b();
      

  4.   

    var fn = new Function(arguments1, arguments2, arguments3, "alert('这是函数体')");
      

  5.   

    第一种是JSON的写法,你可以理解demo为某个对象的属性,它的值为一个function,也可以理解demo为某个命名空间下的一个function或者类。第二种是普通的写法,LZ应该一般就这样写的。
      

  6.   

    感谢各位.结了.
    <html>
    <head>
    <script>
    function demo(){
        alert("debug");
    obj.b();
       alert(obj.c);
    }
    var obj = {
      a:'a',
      b:function(){
    alert('debug');
    },
      c:'c'
    }</script>
    </head>
    <body>
    <input type="button" name="button1" value="按钮1" onclick="demo()"/>
    </body>
    </html>