一、JS面向对象
function Func(name,age){
//this = obj
this.Name = name;
this.Age = age;
}
obj = new Func('ray',18) //new一个对象
二、this关键字
// 每个函数中都有this
// 函数调用时this就是window
// new对象调用时this就是obj
function func(){
// this = window
console.log(this);
}
func(); //相当于 window.func()
function func(){
// this = obj
console.log(this);
}
obj = new func();
三、JavScript中没有字典,只有对象
Name = '张三'
obj = {
Name = 'ray';
Age = 18;
Func = function(){
// this = obj
console.log(this.Name) #ray
function inner(){
// this = window
console.log(this.Name)
}
inner(); //相当于 window.inner();
}
}
obj.Func()
四、总结:
① 每个函数都有this,谁调用this,this就是谁
② 如果是全局调用函数没有new,则this就是window;如果是对象obj = new func()调用,this则是obj对象