面向对象的this的使用
面向对象的this的使用
老鸟的空间 发表于3年前
面向对象的this的使用
  • 发表于 3年前
  • 阅读 14
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: js中this的使用

this:当前的方法属于谁,this就是指谁    除了在函数面前有new的时候

function man(){
		this.name='zhang';
		this.age=30;
		alert(this);
	}
	man()// DOMwindow
	function man2(){
		this.name='zhang';
		this.age=30;
		alert(this);
	}
	new man2()// object
function man2(){
		var this = new Object();   //虽然在JS里面不能这么写,但是差不多是这个意思,创建一个新的对象。
		this.name='zhang';
		this.age=30;
		  return this;             //返回this
		alert(this);
	}
	new man2()// object

亚当学院说的

JavaScript编程语言中,this并不一定是函数本身所属的对象。this只是在任意

object和function元素结合时的一个概念。

window.onload=function(){

   document.onclick=function(){

alert(this);//HTMLDocument

}

}

  <input type="button" value="test" id="btn" />

    <script>document.getElementById('btn').onclick=function(){

console.log(this);//<input type="button" value="test" id="btn">

}

</script>

    <input type="button" value="test" id="btn" />

    <script>

window.onload=function(){

_this = this;

document.getElementById('btn').onclick=function(){

console.log(_this+"__"+this);//[object Window]__[object HTMLInputElement]

}

}

</script>


______________________________________________________________________________________________________________

function whoami(){
				console.log('im  '+ this.name + '  of  ' + typeof(this));
			}
			whoami();
			var zhang = {
				name:'zhangsan',
				show:whoami
			};
			zhang.show();
			var lisi = { name:'lisi'};
			lisi.show = whoami;
			lisi.show();
			whoami.call(zhang);
			zhang.show.call(lisi);
			lisi.show.call(zhang);
			/*whoami.name='whoami';
			whoami.whoami=whoami;
			whoami.whoami();
			*/
			({name:'test',show:whoami}).show();
	</script>


标签: js this
共有 人打赏支持
粉丝 7
博文 77
码字总数 6225
×
老鸟的空间
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: