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