国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javaScript 函數(shù)

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

問(wèn)題描述

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

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

foo()運(yùn)行之后輸出了this,這個(gè)this是window對(duì)象,foo()中的getName是不是也就成了全局下的函數(shù)表達(dá)式;而下面的var getName也是一個(gè)函數(shù)表達(dá)式;為什么打印結(jié)果是1;

foo,執(zhí)行后它等同于于下面這個(gè)代碼么?

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

問(wèn)題解答

回答1:

沒(méi)調(diào)用Foo的時(shí)候

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

調(diào)用Foo()的時(shí)候

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

調(diào)用后Foo里面的return this的確指向window,所以最后結(jié)果是1.

回答2:

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

Foo().getName(); 執(zhí)行的是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函數(shù)里面的getName不是用var申明的,所以是全局的,所以當(dāng)Foo運(yùn)行時(shí)函數(shù)里面的getName函數(shù)會(huì)覆蓋外面定義的

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 建昌县| 临桂县| 宁阳县| 周宁县| 威宁| 西宁市| 哈巴河县| 丽江市| 维西| 漳浦县| 高密市| 晋江市| 北海市| 卢氏县| 宁南县| 界首市| 宁波市| 澳门| 隆子县| 南宁市| 陆河县| 柘荣县| 进贤县| 来宾市| 彭阳县| 南宫市| 嘉祥县| 广饶县| 贵州省| 格尔木市| 体育| 格尔木市| 湘潭县| 邵阳市| 图们市| 德格县| 宜宾县| 南丹县| 新建县| 大化| 萍乡市|