<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
window.onload = function () {
let obj = {
name: "张三"
};
console.log(obj.__proto__ == Object.prototype);
let a = [];
console.log(a.__proto__ == Array.prototype);
// 所以在这里创建的时候 其实就是调用了 数组构造函数中的方法
//正则表达式的原型
let regx = /a/ig;
console.log(regx.__proto__ == RegExp.prototype);
Object.prototype.show = function () {
console.log("this is for you ");
let index = {
name: "我叫诸葛亮"
};
index.show();
}
//使用自定义构造函数创建对象地原型体现
let hd = {
};
let xj = {
myshow(){
console.log("我是对象向军中的方法,我将被对象hd 所继承")
}
};
console.log(hd.__proto__ == Object.prototype);
// 对象原型的设置
Object.setPrototypeOf(hd,xj);
// 在hd中调用 xj 军 里面的show 方法
hd.myshow();
// 使用setprototype的haul 就可以使用 hd 继承向军 里面的show 方法 从而 hd 就可以输出 对象向军里面打印出来的字符串
// 获取对象的原型
console.log(Object.getPrototypeOf(hd));
// 这样的话 就可以知道 hd 的原型是 对象党总的 muyshow() 方法
//设置完原型之后父元素具有的属性 或者方法 子元素 也就可以去使用 和调用其相关的方法
// 这个里面就存在着继承的关系
//设置原型之后 父元素调用自己的方法的话 是不会产生变化的 子元素和父元素的方法 是不影响的
}
</script>
</head>
<body>
</body>
</html>