javascript原型

<!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>
        // 将方法定义在全局作用域中很不安全
        /*
        在创建的每一个函数,解析器都会向函数中传递一个属性prototype
        当函数通过构造函数进行构造时,都会有一个隐含的属性(因为原来的函数本身隐含的含有prototype对象)指向原型对象
        prototype属性指向原型对象
        */
        //隐含prototype属性,是一个对象
        function yuanXing(){
        }
        yuanXing.prototype.a = 123
        //隐含__proto__属性对象 
        var pro = new yuanXing()
        console.log(pro.a)
        //通过构造函数创建的对象,所包含的隐函数型proto都指向一个地址。同一各类的实例都可以访问到实例对象
        //可以将对象中共有的内容统一设置到原型对象中
        //可以向构造函数的原型对象中添加公共属性
        //当访问对象的属性或方法时,先寻找类是否又要寻找的属性;如果没有则回去原型对象中寻找
        //mc.hasOwnproperty(要检查的属性名)检查对象自身中是否含有该属性,只有对象自身含有该属性时,才会返回true
        //hasOwnproperty()方法存在于原型对象的原型对象中。
        //是对象就含有原型对象
        //当使用对象的属性会方法时,会现在自身中寻找,如果自身没有,则在原型对象中寻找,如果还没有,则去原型的原型对象中去找

    </script>
</head>
<body>
    
</body>
</html>
posted @ 2022-02-07 12:28  qingshan剑来  阅读(24)  评论(0编辑  收藏  举报