js中函数和方法的区别

函数(function)是一段代码,需要通过名字来进行调用。它能将一些数据(函数的参数)传递进去进行处理,然后返回一些数据(函数的返回值),也可以不返回数据。


方法(method)是通过对象调用的javascript函数。也就是说,方法也是函数,只是比较特殊的函数。

当将函数和对象和写在一起时,函数(function)就变成了方法(method)。只能对象里方法形式,方法里在函数形式写法,不能对象里函数,正确写法:

结果:这是一个 this指向的问题,第一个:{m: ƒ}   ,第二个:window

 var o={                       //对象
       m:function(){          //方法
           console.log(this);
            f();              //方法里可以函数
            f:function f(){
                console.log(this)
            }
       }
   }
  o.m();    //对象o的m方法,this作为方法被调用,指向调用它的对象。作为函数调用指向window,或undefined(严格模式)     

不正确写法:

报错:Uncaught SyntaxError: Unexpected identifier

var o={
       function m(){       //X  
           console.log(this);
            f();
            function f(){
                console.log(this)
            }
       }
   }

猜你喜欢

转载自www.cnblogs.com/liubingyjui/p/10518397.html