求教~~~新手js菜鸟
1.这样一个函数
 function aaa() {  return:{top:某某值,left:某某值} }
这样的return是什么含义?top和left代表什么?
2.(function($){函数体})这里面 function后的($)是什么意思......3.var v = function (str) {alert(str); }这样意思是不是说 给变量v赋值 值是一个函数
我想问的是 赋值过后 想触发这个v的函数 怎么触发? 关于这种把函数赋值给变量的语法 具体是做什么用的?初学javascript 另求教有没有好一点的参考书~~~ 跪谢各位大侠~~~~~

解决方案 »

  1.   

    前略...
    -------------------------
    很多吧,如
    JavaScript Blible
      

  2.   

    1.return了一个undefined.
    既然都return 分号了,后面的对象一点都不相干2.i> 函数的参数名.只是一个标识符而已,和function(a){...} $和a一样的意思和作用.
     ii> 最后这个函数加了一个括号,说明是个匿名函数.3.函数也是对象.函数也是一种数据.这点是js特有的.
    触发:(你就把v当成函数名来用就好了)  v(str);这样就可以了
      

  3.   

    1.你可以这么用
    var r = aaa();
    alert(r.top);
    alert(r.left);2.$就是一个参数,JS里面的变量,除了和C一样的规定外,还允许$作为变量名,所以只是看起来奇怪而已,和
    function(a)没什么区别3.
    var v = function (str) {alert(str); }
    在效果上等同于
    function v(str){alert(str);}为什么这样做,主要原因,我想是为了避免函数冲突吧,比如前面已经有了一个函数function v(str)
    你再定义一个也叫v的函数,就把前面的给冲掉了,而像上面这样就不会
      

  4.   

    [email protected],返回一个对象,过后你可以使用该对象
    <script>
     function 我() { 
     return {id:'theforever',name:'赵亮',干嘛呢:function(){alert('玩玩');}} ;
    }
    alert(我().id);
    alert(我().name);
    我().干嘛呢();
    </script>
    你问的left,right,就是对象的属性数据,还可以象我这个例子一样有函数成员。2.
    (function($){函数体}) 这里面 function后的($)是什么意思......
    就是个形参。下面用theforever作为参数传给$.
    <script>
    (function($){alert($);}('theforever'))
    </script>3.
    var v = function (str) {alert(str); }
    这样意思是不是说 给变量v赋值 值是一个函数
    我想问的是 赋值过后 想触发这个v的函数 怎么触发? 关于这种把函数赋值给变量的语法 具体是做什么用的?
    这样触发:
    <script>
    var v = function (str) {alert(str); }
    v('theforever');
    </script>
    “把函数赋值给变量”,可以这样理解,但严格说并不对。实际上这是声明函数的一种常用形式,并不特别。JS里var是无敌的,它的意思是“变体”而不仅是指狭义上的变量,你可以把任何东西赋给它,函数给它它就是函数,div对象给它它就是div对象,其它变量数据给它它就是那种类型的变量。
      

  5.   

    最后这个的作用,除了很多微妙但不一定必须的原因外(当然不是任何时候都需要这些原因),其实还有些必须的原因。你回头看第一个例子(我写的那个,包括一个函数),里面的那个函数,就是这样的形式,但如果你不用这种形式而用function 函数名称(){函数体}那种,就不行了,你会发现此时用这样的形式最方便,而且视觉上看来也和前面的成员一样有组织(这就是非主要原因之一)。
      

  6.   

    如果你不用这种形式而用function 函数名称(){函数体}那种,就不行了,你会发现此时用这样的形式最方便如果非那样加上函数名称,最后形式上也会是这样
    function 我() {
    return {id:'theforever',name:'赵亮',干嘛呢:function 干嘛呢(){alert('玩玩');}} ;
    }
    实质在大面上,这仍然是第三种的函数定义方式,只是非给里面的匿名函数加了个名称。显然没有必要。
    而真正只用
    function 干嘛呢(){alert('玩玩');}
    来代替
    干嘛呢:function 干嘛呢(){alert('玩玩');}
    就会出错,不允许这样用。