作用域安全的构造函数

来源:互联网 发布:c语言浮点数表示方法 编辑:程序博客网 时间:2024/05/18 03:56
//作用域安全的构造函数// 构造函数其实就是用new操作符调用的函数// 例如:function Person(name,age,job) {    this.name=name;    this.age=age;    this.job=job;}var person=new Person("lg",17,"front end developer");// 上面例子没问题;// 可是如果忘记了new这个单词var person2= Person("lg2",15,"richperson");console.log(global.name)//但引出lg2;这里可以思考一下this的指向问题,也可以思考new到底做了什么// 该怎样修改呢function Employee(name,age,job){    if(this instanceof Employee){        this.name=name;        this.age=age;        this.job=job    }else{        return new Employee(name,age,job)    }}var employee2= Employee("haha",15,"richperson");console.log(employee2.name);//结果是hahaconsole.log(global.name);//结果是lg2,因为person已经在全局global上将name属性改了
原创粉丝点击