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)
            }
       }
   }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM