js this关键字

来源:互联网 发布:c语言头文件作用 编辑:程序博客网 时间:2024/05/17 02:43

如果this关键字出现在html元素的属性的值里面

前言

这种情况里的this,表示当前元素(或者说元素对象,因为html元素对应DOM)。


举例

//XXX.jsp

<p class="line-search-start"><label>起 :</label> <input type="text" id="startPosition" placeholder="请输入起点"value="" class="blue" autocomplete="off" onkeyup="startInputTips(this);"> <aclass="localSug" data-spm-anchor-id="0.0.0.0">我的位置</a></p><p class="line-search-end"><label>终 :</label> <input type="text" id="endPosition" placeholder="请输入终点"value="" autocomplete="off" onkeyup="startInputTips(this);"> <a class="localSug">我的位置</a></p>


//XXX.js

// 启动输入提示功能function startInputTips(obj){AMap.plugin('AMap.Autocomplete',function(){//回调函数        //实例化Autocomplete        var autoOptions = {            city: "", //城市,默认全国            input:obj.id //使用联想输入的input的id        };        autocomplete= new AMap.Autocomplete(autoOptions);        //TODO: 使用autocomplete对象调用相关功能    });}

总结

1、使用的时候传递的是this,接收的时候是obj(或者是其他的变量名字,但最好不要是this,以免与当前对象混淆)。

2、可以通过this对象来访问/获取当前元素的属性的值,访问方式是对象.属性。


参考

http://www.cnblogs.com/birdshome/archive/2005/03/07/95931.html




如果this关键字出现在函数里面

这种情况,都是指当前对象。所谓当前对象,即调用该函数的对象。

在js里,函数按作用域分为2种:

全局函数

全局函数里的this,表示窗口对象window。

对象的函数

如果是某个自定义对象的函数,那么表示当前对象。



参考:

http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.

http://www.ibm.com/developerworks/cn/web/1207_wangqf_jsthis/

0 0
原创粉丝点击