原型链
<!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>
<!--
Function -- proto/prototype -- function--自定义函数/Object -- 自定义函数--Prototype--自定义原型对象--Objectprototype--proto--null
自定义函数--new---实例--自定义原型对象--Objectprototype--proto--null
console.log(obj instanceof Object)//instanceof用于判断,判断是不是自己想腰的类型:判断obj是不是object,返回真为是,否则相反
//创建一个新的方法,属性可以自己写
//第一种方法
var a = Object.create(null)
console.log(a)
//第二种方法
var b = 1
console.log(Object.setPrototypeOf(b,null))
-->
</head>
<body>
<script>
//练习1:更改tostring为其他类型:当前输出arr.tostring 则打印:1,2,3,而不是数组[1,2,3];原因是因为找到的是自定义函数prototy
// var arr = [1,2,3]
// console.log(Object.prototype.toString.call(arr))
// console.log(arr.toString())
//练习2:更改自定义函数原型上tostring
// function a(){
// }
// var obj = new a();
// a.prototype.toString = function(){
// return '111'
// }
// console.log(obj.toString())
//console.log(obj instanceof Object)//instanceof用于判断,判断是不是自己想腰的类型:判断obj是不是object,返回真为是,否则相反
//新的方法,创建一个新的方法,属性可以自己写
//第一种方法
// var a = Object.create(null)
// console.log(a)
// //第二种方法
// var b = 1
// console.log(Object.setPrototypeOf(b,null))
//练习题:创建一个没有隐式类型对象,随意添加一些值
var a = Object.create(null)
a.name = 1;
console.log(a)
</script>
</body>
</html>