JavaScript函数与面向对象

一、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对象

转载于:https://www.cnblogs.com/ray-h/p/10196710.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值