this

浏览器在调用函数时每次都会向函数内部传递进去一个隐含的参数,这个隐含的参数就是this

this指向的是一个对象,这个对象我们称为函数执行的上下文对象

根据函数的调用方式的不同,this指向不同的对象

   1.以函数的形式调用,this永远都是window

function fun(){
		console.log(this)
	}
	fun();// [object Window]以函数的形式调用

2.以方法的形式调用,this就是调用方法的那个对象

//创建一个对象
	var obj = {
			name:'zy',
			sayName :fun
	};
	console.log(obj.sayName==fun);//true
	obj.sayName();//[object Object] 以方法的形式调用

3.当以构造函数的形式调用时,this就是新创建的对象

构造函数就是一个普通的函数,创建方法和普通函数没有区别,不同的是创造函数习惯上首字母大写

构造函数和普通函数的区别就是调用方式的不同,普通函数就是直接调用,而构造函数需要使用new关键字来调用

构造函数执行流程:

                1.立刻创建一个新的对象

                2.将新建的对象设置为函数中的this,在构造函数中可以使用this来引用新建的对象

                3.逐行执行函数中的代码

                4.将新建的对象作为返回值返回

使用构造函数创建的对象,我们也称为一类对象,也将一个构造函数称为一个类

我们将通过一个构造函数创建的对象,称为该类的实例

	//相当于创建了一个Person类
	function Person(name,age,gender){
		this.name = name;
		this.age = age;
		this.gender = gender;
	}
	
	var per = new Person("zy",18,"女");//加new就是构造函数,不加new就是普通函数
	console.log(per);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值