构造函数中的THIS究竟是什么?什么叫做实例?

这两天的构造函数给我搞蒙掉咯

构造函数:

     <script>

function Gouzao(shuju){ //构造一个函数名叫gouzao 这个GOUZAO就是这个案例中的构造函数本人了
    this.eye="大眼睛";

   this.shuju=shuju;//这个就是通过括号传入的数据,也可以传函数 this指向实例(因为实例在最后调用了这个数据)

   this.fangfa=quanjufangfa; //把全局中的函数赋给实例中的方法
}

var quanjufangfa=function(){ //这是一个定义在全局的方法 一开始和构造函数没关系 后面被当作数值传入实例中

alert("这个quanjufangfa可以定义成任何数据,传入this.fangfa中");//弹出框

};

Gouzao.prototype.gouzaofangfa=function(){//在构造函数gouzao的prototype对象中添加一个方法fangfa为函数
    alert("我是通过点语法在GOUZAO的原型prototype上创造的方法gouzaofangfa");
}

var shili = new Gouzao("这里的值就是shuju的值"); //注意 这里的shili就是实例 是一个对象 括号内的值就是shuju的值

shili.fangfa();//通过实例调用被This.fangfa加入进实例的方法fangfa();

shili.gouzaofangfa();//调用原型中的方法gozaofangfa

alert(shili.shuju); //调用数据

console.log(shili.eye);

//这里就调用gouzao这个构造函数的自带原型prototype中添加的 fangfa 方法
    
    </script>

没错我用了很土的命名法
但是我还是适合这种不然真搞不懂

遵循this 谁调用就指向谁的原则,这个构造函数中的this就是指向shili,因为它被shili调用了
**

var shili = new Gouzao(“这里的值就是shuju的值”); 中shili就是实例

实例就是个对象,可以通过prototype添加方法

构造函数中的THIS全指向实例

,也就是说所有this.###的东西都是给实例添加方法
this.eye=“大眼睛”;

实例.eye的数据就是“大眼睛”

this.food=function(){
console.log(“我是个方法”);
}

就等于

实例.food=function(){
console.log(“我是个方法”);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值