JavaScript中函数和构造函数的区别

1.​​​​​​普通函数是小驼峰写法,而构造函数是大驼峰写法。 

//普通函数写法
function fun() {
    var a = 1;
}


//构造函数写法
function Fun() {
    var a = 1;
}

  2.构造函数要new 创建对象,要不然和普通函数没什么区别

//普通函数
function fun(name, age, sex) {
    this.name = name;
    this.age = age;
    this.sex = sex;
}

fun('solely', 19, 'male');
//fun.name = solely;
//fun.age = 19;
//fun.sex = male;


//构造函数
function Fun(name, age, sex) {
    this.name = name;
    this.age = age;
    this.sex = sex;
}

var person = new Fun('solely', 19, 'male');
//person.name = solely;
//person.age = 19;
//person.sex = male;

3.普通函数this和构造函数this指向不一样

//普通函数this指向全局

//全局定义一个name
var name = "zs";
function fun() {
//局部调用一个name
	var name = "fortune";
	console.log(this.name);//执行结果输出'zs'
    console.log(this);    //打印this指向的是window
}

fun();



//构造函数this指向实例 也就是自己
function Fun() {
	this.name = "fortune";
	console.log(this);//打印this指向的是Fun()
}

var person = new Fun();

猜你喜欢

转载自blog.csdn.net/qq_40428678/article/details/81228916