# Vue中的data为什么是一个函数 ?

因为组件是可以覆用的,JS里对象是引用关系,如果组件data是一个对象,那么子组件中的data属性值会互相污染,产生副作用。所以一个组件data选项必须是一个函数,因此每个实例可以维护一份被返回对象的独立的拷贝。new Vue的实例是不会被覆用的,因此不存在上述问题