zoukankan      html  css  js  c++  java
  • JS高级day01

    个人理解,对象里的__proto__和构造函数里的prototype ,都放着是一个原型对象,里面一模一样

    对象.proto --》 在chrome浏览器 打印出时个object,而在IE8打印出时个undefine 。 因为对象的 __proto__这不是一个标准的属性 。

    所以,我们假如用原型的话就用 构造函数名.prototype ,这才是我们程序员用的

    重点来了!

    构造函数的prototype 这个属性放着原型对象,prototype 里的construtor 指向的是自己的构造函数
    **其实是可以这样的,实例对象.proto.eat() 等同于 实例对象.eat() ** ,但因为__proto__ 不是一个标准属性,所以都用实例对象.eat()

    三者关系

    补充知识

    构造函数 其实本来就已经 含着原型对象了 。 另外,实例对象是由构造函数创造出来的

    原型的作用


    原型的简单写法


    实例对象使用属性和方法层层的搜索

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            function Person(age,sex){
                this.age = age;
                this.sex = sex;
                this.eat=function(){
                    console.log("构造函数中的吃");
                }
            }
            Person.prototype.sex = "女";
    
            var per = new Person(20,"男");
            console.log(per.sex);  //输出的 是男 而不是女  ,-》为什么呢
            console.dir(per);
        </script>
    </head>
    <body>
    
    </body>
    </html>
    

    答案:先从实例对象找,。然后再从原型对象找


    局部变量编程全局变量

    什么是自调用函数

    另外:window对象时可以省略掉的

    (把局部变量给window就可以了)


    把随机数对象暴露给window成为全局对象

    代码+完美解释

    //        js是一门动态类型的语言,对象, 有.点 就可以创建对象
    
            (function (win){
                //弄个构造函数先
                function Random(){
    
                }
                //在原型对象中添加方法
                Random.prototype.getRandom = function(min,max){
                    return Math.floor(Math.random()*(max-min)+min);
                };
                //把Random对象暴露给顶级对象window -->外部可以直接使用这个对象
                win.Random = Random; //这个Random 代表了一个构造函数 ,将它赋给win的Random属性
            })(window);
            var rm = new window.Random(); //这个window对象可以省略的 ,直接写成  var rm = new Random(); 也行
            console.log(rm.getRandom(0,5));
    
  • 相关阅读:
    Json2JsonArray JsonArray2StringArray
    循环结构
    类型转换代码
    字符串的截取拼接
    循环语句,选择结构的相关代码
    Java代码2-运算符简单运用
    Java代码1
    集合框架
    接口
    继承多态
  • 原文地址:https://www.cnblogs.com/czy16/p/9644572.html
Copyright © 2011-2022 走看看