- 原型分为隐式原型和显式原型
隐式原型:[[Prototype]] 程序员通过原型链来读取对象的属性
显式原型:Prototype 程序员进行添加和修改对象的属性
function eat(){
name:a
}
let obj={
eat
}
console.log(obj);
- 我们通常将一些通用的属性或者方法挂载到对象的原型上(Vue为例)
new Vue({
el:'#app',
beforeCreate(){
//安装全局事件总线
Vue.prototype.$bus = this;
},
render: h => h(App),
})
这样每个组件都可以通过this.$bus来调用$bus方法
- 数据的存储方式(栈内存,堆内存)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
function Person(name, age, salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
function f1(person) {
// var person = p
person.name = "李四";
person = new Person("王五", 18, 10);
}
var p = new Person("张三", 18, 1000);
console.log(p.name);//张三
f1(p);
console.log(p.name);//李四
</script>
</body>
</html>