相信不少人在学习或者使用Javascript的时候,都曾经被Javascript中的这个弄晕了,那么本文就来整理总结一下在严格模式下这个的几种指向。
在严格模式下,在全局作用域中,这指向窗口对象
“使用严格的”; console.log(“严格模式”); console.log(“在全局作用域中的这种“); console.log(“这。文档文档”,这===N牡?==文档); 控制台。日志(“这===窗口”,这===窗口); 这一点。一个=9804; console.log('。===window.a===', window.a);
“使用严格的”; console.log(“严格模式”); console.log(“在全局作用域中函数中的这种“); 函数f1 () { console.log(这个); } 函数f2 () { 函数f3 () { console.log(这个); } f3 (); } f1 (); f2 ();
“使用严格的”; console.log(“严格模式”); console.log(“在对象的函数中的这种“); var o=新对象(); o。一个=皁.a”; o。f5=function () { 返回this.a; } console.log (o.f5 ());
“使用严格的”; console.log(“严格模式”); console.log(“构造函数中的这种“); 函数影响(){ 这一点。一个=癱onstru.a”; 这一点。f2=function () { console.log (this.b); 返回this.a; } } var o2=new影响(); o2。b=皁2.b”; console.log (o2.f2 ());
“使用严格的”; 函数blue_it (e) { 如果(这===e。target) { this.style。写成backgroundColor=" # 00 f”; } } var=document.getElementsByTagName元素(“*”); (var=0;i<元素。长度;我+ +){ 元素[我]。onclick=blue_it; }//这段代码的作用是使被单击的元素背景色变为蓝色
在严格模式下,在内联事件处理函数中,有以下两种情况:
& lt; button> 内联事件处理1 & lt;/button> & lt; !——警告窗口中的字符为未定义——比; & lt; button> 内联事件处理2 & lt;/button> & lt; !——警告窗口中的字符为按钮,在
<强>参考资料强>
MDN https://developer.mozilla.org..。
<强>延伸资料强>
JavaScript严格模式详解https://www.jb51.net/article/74890.htm
菜鸟学堂比;JavaScript严格模式http://edu.jb51.net/js/js-strict.html
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。