• JS学习笔记-构造函数篇


    创建实例
    funtion Fn (){
        var num = 10;    
        this.x = 100;
        this.getX = function(){
            console.log(this.num); 
        }
    }
    var f1 = new Fn;
    f1.getX();
    最后执行的结果是:undefined
    说明: 类有普通的里面,当函数执行的时候,var num只是当的形成的私有作用域中的私有变量而已,它和我们的f1这个实例没有任何的关系,只有this.xxx=xx才相当于给f1增加私有的属性和方法,才和我们的f1有关系;

    funtion Fn (){
        var num = 10;    
        this.x = 100;
        this.getX = function(){
            console.log(this.num); 
        }
        return false;
        return {"name","123"};
    }
    var f1 = new Fn;
    console.log(f1);
    说明:在构造函数欧式中,浏览器会默认的把我们的实例返回(返回的是一个数据类型的值);如果我们手动写了return返回:
        返回的是一个基本数据类型就那个的值,房钱实例是不变的,例如:return 100;我们的f1还是当前Fn的实例
        返回的是一个引用数据类型的值,当前的实例会被自己的返回值给替换掉,例如返回:return {"name","123"};我们的f1就不再是Fn的实例了,而是对象{“name”,"123"};

    funtion Fn (){
        var x= 10;    
        this.getX = function(){
            console.log(this.x); 
        }
    }
    var f1 = new Fn;
    说明:检测某个实例是否属于这个类---》instanceof
    console.log(f1.instanceof Fn);//-->true
    这方法可以检测数据类型:
    f1 instanceof Array -> false;
    f1 instanceof Object  -> true
    这个检测数据类型的方法可以和typeof比较
    funtion Fn (){
        var x= 10;    
        this.getX = function(){
            console.log(this.x); 
        }
    }
    var f1 = new Fn;
    var f2 = new Fn;
    说明 : f1和f2都是Fn这个类的一个实例,都拥有x和getX两个属性,但是这个属性是各自的私有属性,所以console.log(f1.getX ==== f2.getX);//--> false

    in 检测某一个属性是否属于这个对象(attr in object),不管是私有的属性还是公用的属性,只要存在,用in检测都是true

    //hasOwnProperty:用来检测某一个属性是否是这个对象的“私有属性”,这个方法只能检测私有属性
    console.log(f1.hasOwnProperty("getX"));-->true  "getX"是f1的私有属性

    //检测某一个属性是否是这个对象的“公有属性”

    function hasPubProperty(obj,attr){
        return (attr in obj) && !obj.hasOwnProperty(attr);
    //属性是对象的属性,但又不是私有的属性,必定是公有属性;
    }





    还有分享一个技术群,474471759,跟随里面的大佬一起成长,进群之后里面的JimY就是我。

    如果我的博客解决了你的问题,那请你给个关注吧!
  • 相关阅读:
    继续聊WPF
    窥探Swift之别具一格的Struct和Class
    窥探Swift之类的继承与类的访问权限
    iOS开发之地图与定位
    iOS开发之WebView
    iOS开发之版本控制(SVN)
    iOS开发之抽屉效果实现
    iOS开发之调用系统打电话发短信接口以及程序内发短信
    转:GitHub 万星推荐成长技术清单
    vmware漏洞之四:简评USE-AFTER-SILENCE: EXPLOITING A QUIETLY PATCHED UAF IN VMWARE
  • 原文地址:https://www.cnblogs.com/DreamSeeker/p/7264378.html
Copyright © 2020-2023  润新知