WEB开发网
开发学院网页设计JavaScript JavaScript 中的 this, call, apply, bind... 阅读

JavaScript 中的 this, call, apply, bind...

 2009-09-30 00:00:00 来源:WEB开发网   
核心提示:今天无意间在这里看到一篇说js中this的文章,看后满是疑问,JavaScript 中的 this, call, apply, bind...,,,传过去this,当做参数处理即可当然也有别的看似更体面的方法0.<script>1.functiontest_handler(){2.//这里的this就不再是

今天无意间在这里看到一篇说js中this的文章,看后满是疑问。。。

作者使用this.xxproperty取某些属性得到了undefined等一系列非意料中的结果

于是认为导致这种情况是因为之前有过对this.propertyX赋值从而改变了this所至。。。

好吧...

一: this

看这个代码

   0. <script>  
   1. function test(){  
   2. alert(this.location); //这里的this是window,你可以取到任何window的属性但别妄想取button的属性  
   3. }  
   4. </script><input  value="click1" type="button">  

当然要取到button dom node的信息也是十分简单的

   0. <input  value="click1" type="button"> 

如上代码,传过去this,当做参数处理即可

当然也有别的看似更体面的方法

   0. <script>  
   1. function test_handler(){  
   2. //这里的this就不再是window了,而是我们要的button了,其实就是addHandler中所定义的事件发生体  
   3. //当然也只有等你所定义的事件(这里是onclick)触发后才有instance  
   4. alert(this.id);   
   5. }  
   6. function addHandler(){  
   7. document.getElementById("button1").onclick = test_handler;  
   8. }  
   9. window.onload = addHandler;  
  10. </script><input id="button1" value="click1" type="button">  

1 2 3 4  下一页

Tags:JavaScript this call

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接