this高级应用 - 域隔离
在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中运行结果: