这周笔试遇到的大概如下
function(){
}
var v1=function wy;var v2=function wy();
问有什么区别
大概就是这样

解决方案 »

  1.   

    没有区别好像,在javascript中如果方法是空参数的话可以把括号去掉,都是一样效果
      

  2.   

    function(){    //这是一个空方法体..  这样写不会报错.但我还不知道这样写有什么意义.至少应该有个方法名称

    var v1=function wy; var v2=function wy();   把wy的 方法赋值给v2
    请问下楼主.这是那个公司的面试题.... 
      

  3.   

    怎么看语法都不对啊,个人测试是不是这样的?
    function wy() {
    ...
    }
    var v1 = wy;
    var v2 = wy();
    如果是这样的话,wy代表方法本身,暂且理解为对象吧,虽然javascript也不是纯粹面向对象的语言
    而wy()代表的是方法wy的执行结果
      

  4.   

    刚才翻看了javascript高级教程声明和实例化部分和5楼说的一样~
    7楼说的有道理
      

  5.   

    楼主给的代码是错误的,在浏览器上跑一下就知道。
    var v1=function wy; 
    var v2=function wy();
    这两行都是错误的语法。
    第一个函数定义没有错误,但是如楼上所说,因为没有函数名,其他地方无法对这个函数进行引用,所以无效。我猜想楼主的面试题:function f1(){}var t1=f1;
    var t2=function f1(){};这样的话,t1就是f1的一个引用,所以t1和f1是完全等价的。而t2是一个临时函数的引用,这个函数没有名称(或者你可以说它的名称是t2,因为你可以通过t2来调用这个函数),注意虽然这个函数起了名称也是f1,实际这个函数名是无效。所以上面的也等价于:
    var t2=function(){}; 
      

  6.   


    function()
    {
    }是错误语法... ...楼主是问
    1:
    function wy()
    {
    }和 
    2:
    var wy = function(){
    };
    的区别吧?!这两种是有区别的,
    第一种,会在代码执行前定义函数wy,可以在代码的任何位置调用它...
    而第二种,其实是将一个函数赋值给变量wy,代码执行前会定义变量wy,但此时其值是undefined,要等到执行时,才会定义函数wy,因此调用必须放在var wy = function(){};后面才行...