• 检测对象类型的两种方式,constructor属性和instanceof


    //本例是为了记录检测对象类型的两种方式,即constructor属性和instanceof操作符。详见《高三》P145
            function Person(name, age, job) {
                this.name = name;
                this.age = age;
                this.job = job;
                this.say = function () {
                    alert("hi,i'm " + name + "!");
                }
            }

            var person1 = new Person("kitty", 18, "Student");
            var person2 = new Person("wede", 29, "SoftWare");

            //利用constructor属性检测对象类型
            alert(person1.constructor == Person);  //true
            alert(person2.constructor == Person);  //true

            //利用instanceof操作符检测对象类型
            alert(person1 instanceof Person);  //true
            alert(person2 instanceof Person);  //true

            /********************************************************************************/

            //利用instanceof操作符同样也能检测到继承自Object基类的所有类型,比如这样:
            alert(person1 instanceof Object); //true
            alert(person2 instanceof Object); //true
            //对比constructor属性,可以看出,constructor属性的值为对象的直接父级
            alert(person1.constructor == Object); //false
            alert(person2.constructor == Object); //false

            //本例是上面示例的补充,意在说明函数的重构
            //详见《高三》P147
            function Person(name, age, job) {
                this.name = name;
                this.age = age;
                this.job = job;
                this.say = say; //注意,这里将外部函数say的作用域指向了函数内部
            }

            function say() {
                alert("Hello,I'm "+this.name+","+this.age+" years old,i'm a "+this.job);
            }

            var person1 = new Person("kitty", 18, "Student");
            var person2 = new Person("wede", 29, "SoftWare");

            person1.say();
            person2.say();

  • 相关阅读:
    mysql 的远程链接字符
    SqlSessionFactoryUtil
    mysql 的链接字符
    web 项目运用通用的xml配置
    配置文件转意符使用
    new和newInstance的区别
    子选择器与后代选择器的区别
    Vivado_HLS 学习笔记1-数据类型
    Vivado_HLS 学习笔记3-循环的pipeline与展开
    Vivado_HLS 学习笔记2-接口综合
  • 原文地址:https://www.cnblogs.com/zhaow/p/9754449.html
Copyright © 2020-2023  润新知