函数(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) } } }