function func(){
console.log('fuck you!');
}
var o = new func();
为什么一定要用new 直接var o = f()不可以呢。这里需要理解什么知识点。
对函数调用加new和不加new关键字的运行机制不一样
加new
加了之后在函数内部会自动创建一个object对象,然后将该对象返回给接收的变量,也就是你写的var o上,不加new
不加new的情况下,里面是不会创建object这个对象,并且如果你没有使用return语句返回任何东西的话,那var o将不回接收到任何东西,所以就是undefined
对函数调用加new和不加new关键字的运行机制不一样
加new
加了之后在函数内部会自动创建一个object对象,然后将该对象返回给接收的变量,也就是你写的var o上
不加new
不加new的情况下,里面是不会创建object这个对象,并且如果你没有使用return语句返回任何东西的话,那var o将不回接收到任何东西,所以就是undefined