原型链

<!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>

posted on 2023-04-05 22:35  爱前端的小魏  阅读(10)  评论(0编辑  收藏  举报

导航