function foo(){
this.b=100;
return this.a;
}
var func=foo.bind({a:1});
func();//1
new func();//{b:100}
bind函数绑定了this,即this={a:1},运行func后,this会增加b属性
{a:1,b:100},但是new的话,会忽略bind的作用,即this的绑定,重新新建一个空的对象,并且其原型指向foo.prototype,而且如果return不是返回一个对象会忽略并且默认返回this对象
function func(){
console.log(this)
}
boundFunc = func.bind(1);
boundFunc.call(2) //1 bind函数中this不会被修改