av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

javaScript 函數

瀏覽:106日期: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
相關文章:
主站蜘蛛池模板: 日韩一级 | 在线观看第一区 | 婷婷综合网 | 青青草av在线播放 | 欧美videosex性极品hd | 欧美日韩电影免费观看 | 亚洲免费视频一区二区 | 国产一区二区在线免费观看 | 日本精品久久久久久久 | 久久综合一区 | 九九伦理电影 | 天天干视频网 | 成在线人视频免费视频 | 国产精品视频在线播放 | 九九热在线视频 | 狠狠干天天干 | 成人夜晚看av| 91视频www.| 久久一级 | 亚洲欧美日韩电影 | 成人午夜视频在线观看 | 久久久69 | 亚洲精品一区二三区不卡 | 国产精品国产a级 | 色精品| 黄色免费网址大全 | 天天干b| 亚洲一av| 四季久久免费一区二区三区四区 | 91视频在线观看 | 午夜视频在线免费观看 | 欧美日韩国产精品 | 日韩在线观看视频一区 | 国产一区二区在线播放 | 天堂视频免费 | 天天插天天操 | 亚洲精品乱码久久久久久9色 | 日本免费在线观看视频 | 亚洲欧美中文字幕在线观看 | 在线视频 欧美日韩 | 91精品一区|