zoukankan      html  css  js  c++  java
  • javascript构造函数强制使用new

    如果有时候我们忘记对构造函数使用new的话,构造函数的this将指向window

    function Person(){
      this.name = 'Julie';
    }
    var good_moring = Person();
    console.log(good_moring); //输出undefined
    console.log(window.name); //输出Julie

    遵循命名约定一定程序上有助于避免忘记使用new所带来的问题,但命名约定也只是一种建议,并不能强制保证正确的行为。

    板栗:

    function Waffle(){
      if( !(this instanceof Waffle) ){
        return new Waffle();
      }
      this.name = 'carl';
    }
    var first = new Waffle(),
    second = Waffle();
    console.log(first.name); //carl
    console.log(second.name); //carl
  • 相关阅读:
    创建FLASK,同步docker
    FLASK Buleprint
    restful api
    Angular JS
    线程日志
    将项目部署到linux下的docker容器中
    安装和卸载docker
    学习目录总编
    Ansible
    装饰器
  • 原文地址:https://www.cnblogs.com/fengzekun/p/3892171.html
Copyright © 2011-2022 走看看