在js环境中,this有很多指向(window、dom、object等),巧妙的利用this,可以有效的防止变量或方法被外界污染,保证代码健壮性,实例如下。
demo:
<!DOCTYPE html>
<html>
<head>
<title>Menu UI</title>
<meta charset="UTF-8" >
</head>
<body> </body>
<script type="text/javascript">
function showMsg(msg){
alert(msg);
}
var methods = {
showMsg: function(msg){//定义了和外部同名的方法
console.log(msg);
},
valid: function(){
this.showMsg('提示信息');//通过this让showMsg的域直接指向methods,避免方法调用不对,这里就涉及到方法的查询机制了
}
};
methods.valid();
</script>
</html>
console中运行结果: