可以同名,methods的方法名会被data的属性覆盖;调试台也会出现报错信息,但是不影响执行;
    原因:源码定义的initState函数内部执行的顺序:props>methods>data>computed>watch

    1. //initState部分源码
    2. export function initState (vm: Component) {
    3. vm._watchers = []
    4. const opts = vm.$options
    5. if (opts.props) initProps(vm, opts.props)
    6. if (opts.methods) initMethods(vm, opts.methods)
    7. if (opts.data) {
    8. initData(vm)
    9. } else {
    10. observe(vm._data = {}, true /* asRootData */)
    11. }
    12. if (opts.computed) initComputed(vm, opts.computed)
    13. if (opts.watch && opts.watch !== nativeWatch) {
    14. initWatch(vm, opts.watch)
    15. }
    16. }