欢迎来到天天文库
浏览记录
ID:35294585
大小:16.02 KB
页数:15页
时间:2019-03-23
《javascript的self和this使用小结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、JavaScript的self和this使用小结-ued-博客园本文摘自:http://www.cnblogs.com/reommmm/archive/2010/01/20/1652469.html一、self 这个非常简单。我们知道,打开任何一个网页,浏览器会首先创建一个窗口,这个窗口就是一个window对象,也是js运行所依附的全局环境对象和全局作用域对象。self指窗口本身,它返回的对象跟window对象是一模一样的。也正因为如此,window对象的常用方法和函数都可以用self代替window。举个例子,常见的写法如“self.close();”
2、,把它放在标记中:“关闭窗口”,单击“关闭窗口”链接,当前页面关闭。 二、this关键字 在讲this之前,看下面的一段代码: 代码
3、element.style.color="blue";this.element.style.cursor="pointer";this.element.attachEvent('onclick',this.ToString);}thisTest.prototype.RenderDom=function(){document.body.appendChild(this.element);}thisTest.prototype.ToString=function(){alert("单击我:"+this.textValue);};vartest=newthisT
4、est();test.RenderDom();//test.ToString(); 本来的目的是想在body中添加一个span元素,对于这个span元素,制定了它的字体颜色,悬浮在它上面的鼠标样式和单击触发事件。问题就出现在它的单击事件上(弹出"单击我:undefined")。也许有人会说你丫傻呀,写这么多sb代码还不就是为了实现下面这个东东吗? this的dom测试
5、 你看多简单直观,而且还不容易出错?!kao,我晕。我正要讲的是您正在使用的this.innerHTML中的this呀。1、this到底指什么?我们熟悉的c#有this关键字,它的主要作用就是指代当前对象实例(参数传递和索引器都要用到this)。在javascript中,this通常指向的是我们正在执行的函数本身,或者是指向该函数所属的对象(运行时)。2、常见使用方式(1)、直接在dom元素中使用 分析:对于do
6、m元素的一个onclick(或其他如onblur等)属性,它为所属的html元素所拥有,直接在它触发的函数里写this,this应该指向该html元素。(2)、给dom元素注册js函数a、不正确的方式 functionthisTest(){alert(this.value);//弹出undefined,this在这里指向??} 分析:onclick事件
7、直接调用thisTest函数,程序就会弹出undefined。因为thisTest函数是在window对象中定义的,所以thisTest的拥有者(作用域)是window,thisTest的this也是window。而window是没有value属性的,所以就报错了。b、正确的方式 functionthisTest(){alert(this.value);}document.getElementById("btn
8、Test").onclick=thisTest;//给button
此文档下载收益归作者所有