标签:vue.js method 对象 span rom spro style prototype rev
new Observer的时候,有
if (Array.isArray(value)) {
if (hasProto) {
protoAugment(value, arrayMethods);
} else {
copyAugment(value, arrayMethods, arrayKeys);
}
this.observeArray(value);
} else {
this.walk(value);
}
chrome是支持__proto__的,所以hasproto为true,进入protoAugment方法,本来proto指向的是Array的prototype,现在中间加一个对象arrayMethods,再对这个arrayMethods进行拦截,vue.js 858行,相当于重写
‘push‘,
‘pop‘,
‘shift‘,
‘unshift‘,
‘splice‘,
‘sort‘,
‘reverse‘
这几个方法,
标签:vue.js method 对象 span rom spro style prototype rev
原文地址:https://www.cnblogs.com/chuliang/p/10360541.html