js中this的用法实例分析
js中this的用法实例分析
发布时间:2016-12-30 来源:查字典编辑
摘要:本文实例分析了js中this的用法。分享给大家供大家参考。具体分析如下:实例1:第一种调用this的方法——以函数形式调用。它代表全局对象w...

本文实例分析了js中this的用法。分享给大家供大家参考。具体分析如下:

实例1:第一种调用this的方法——以函数形式调用。它代表全局对象window

复制代码 代码如下:<script type="text/javascript">

function t(){

alert(this);//这里this表示window对象。

}

t();

</script>

实例2:第二种调用this的方法——以对象属性的形式调用。它代表该对象。实例中onclick为p元素对象的属性

复制代码 代码如下:<html>

<head>

<script type="text/javascript">

function t(){

alert(this);

this.style.background = 'green';

}

window.onload = function(){

document.getElementById('eng').onclick = t;

}

</script>

</head>

<body>

<p id="eng">abcd</p>

</body>

</html>

实例3:第三种调用this的方法——以构造器的方式调用。

复制代码 代码如下:<script type="text/javascript">

function dog(){

this.legs = 4;

this.bark = function(){

alert("汪汪...");

}

}

var wangcai = new dog();//创建对象的方式。new 函数名();

wangcai.bark();

</script>

说明:

(1)如果直接调用dog()函数,而不是以创建对象的方式调用,则相当于第一种调用了,即this代表着全局对象window。

(2)js中没有类的概念,但是有对象的概念;

(3)对象的创建可以采用var = objName{name:'abc',age:40}这种方式创建,也可以通过构造函数来创建;

(4)什么是构造函数:当一个普通函数以“new 函数名()”的方式调用时,此函数就充当构造函数。

实例4:第四种调用this的方法——call和apply方式

复制代码 代码如下:<html>

<head>

<script type="text/javascript">

window.onload = function(){

var d = document.getElementById('hi');

if(hi.addEventListener){//chrome 和 firefox

hi.addEventListener('click',function(){alert(this.id)},false);//w3c模型中,this指向DOM对象。this.id结果为hi

}else{// ie

hi.attachEvent('onclick',function(){alert(this.id)});//ie8及ie8以下,这里this指向全局对象window。结果this.id结果为undefined

}

}

</script>

</head>

<body>

<p id="hi">hello world</p>

</body>

</html>

希望本文所述对大家的javascript程序设计有所帮助。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类