午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

javaScript 函數

瀏覽:183日期:2023-06-03 11:17:24

問題描述

function Foo(){ getName = function(){console.log(1); }; return this;}var getName = function (){ console.log(4)}; Foo().getName();

上面的代碼為什么輸出的是1;

foo()運行之后輸出了this,這個this是window對象,foo()中的getName是不是也就成了全局下的函數表達式;而下面的var getName也是一個函數表達式;為什么打印結果是1;

foo,執行后它等同于于下面這個代碼么?

getName = function(){ console.log(1);};var getName = function (){ console.log(4)}; getName(); //4

問題解答

回答1:

沒調用Foo的時候

window.getName = function(){ console.log(4);}

調用Foo()的時候

getName = function(){console.log(1); };// 相當于更改了 window.getName

調用后Foo里面的return this的確指向window,所以最后結果是1.

回答2:

function Foo(){ getName = function(){console.log(1); }; return this;}//全局聲明一個變量getNamevar getName = function (){ console.log(4)};//重新賦值getName = function () { console.log(1)}//最終打印結果為1window.getName()回答3:

Foo().getName(); 執行的是Foo中的getName

回答4:

function Foo(){ getName = function(){console.log(1); }; return this;}var getName = function (){ console.log(4)};Foo().getName();

function Foo(){ getName = function(){console.log(1); }; return this;}var getName = function (){ console.log(4)};getName = function () { console.log(1)}window.getName()回答5:

你console.log(Foo())看看,確定是window?

回答6:

Foo函數里面的getName不是用var申明的,所以是全局的,所以當Foo運行時函數里面的getName函數會覆蓋外面定義的

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产精品手机视频 | 欧美成人精品欧美一级私黄 | 成人免费看片视频在线观看 | 午夜精品一区二区三区在线播放 | 久草免费在线视频 | 欧美精品在线观看 | 国产一区二区在线免费 | 一区二区三区观看 | 久久在线视频免费观看 | 91原创视频 | 日韩精品第一页 | 国产免费自拍 | 亚洲综合一区二区三区 | 成人小视频在线 | 久久观看最新视频 | 日本1级片| 国产一区二区在线免费 | 中文字幕97| 毛片视频网址 | 欧洲一区二区在线 | 久久久久一区二区三区四区 | 精品有码 | 亚洲欧美日韩精品久久亚洲区 | 天天艹天天 | 91精品国自产 | 激情婷婷六月天 | 国产二区视频在线观看 | 黄色片免费视频 | v天堂中文在线 | 成人福利视频导航 | 午夜色av | 久久中文娱乐网 | 久久久午夜影院 | 美女国产网站 | 日韩国产欧美一区二区三区 | 精品国产中文字幕 | 日韩一区二区三区视频在线观看 | 午夜在线 | 男人手机天堂 | 天堂av中文字幕 | 麻豆精品在线视频 |