码迷,mamicode.com
首页 > 编程语言 > 详细

javascript构造函数强制使用new

时间:2014-08-05 15:27:19      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:style   color   java   使用   io   strong   问题   ar   

如果有时候我们忘记对构造函数使用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

javascript构造函数强制使用new,布布扣,bubuko.com

javascript构造函数强制使用new

标签:style   color   java   使用   io   strong   问题   ar   

原文地址:http://www.cnblogs.com/fengzekun/p/3892171.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!