==vue的methods中存放方法,写法有 aaa(){ } 和 bbb:function(){ }==
注意:第二种bbb:function(){ }写法,可以实现把bbb重新赋值!
java
methods:{ // key:value key是方法名,value是function
aaa(){ //es6 简写允许我们省略对象方法的function关键字及之后的冒号
},
bbb:function(){ //es5
}
//aaa bbb 都是methods对象的属性 ---> 作为对象属性的函数被称为 方法
}
vue2中初始化时会解析,重新定义methods中方法的引用,修改调用函数时的上下文环境,将this指向vue实例,源码
java
function initMethods (vm, methods) {
for (const key in methods) {
vm[key] = typeof methods[key] !== 'function' ? noop : methods[key].bind(vm);
}
}
补充
js中定义函数的4种方式:
函数声明 function aaa(){}
函数表达式 aaa = function(){}
用Function构造方法 aaa = new Function(参数,参数,…,参数,函数体)
匿名函数 function(){}