您的位置:首页 > Web前端 > JavaScript

js this关键字

2015-10-26 15:30 525 查看

如果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);"> <a
class="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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: