JS內部函式一道自測題

2021-08-08 08:32:47 字數 586 閱讀 1088

var add = function()

tmp.tostring = function()

return tem;//將子函式返回;方便外部呼叫

}//求alert(add(1)(2)(3))的輸出值

1. 內部函式受其父函式作用域限制不能夠被直接呼叫

2. 要想呼叫內部函式,要麼定義全域性變數並且將內部函式賦值給全域性變數,通過呼叫全域性變數來呼叫內部函式;

要麼將內部函式直接返回給外部函式;

再來一步步解析這道題

1.add(1)可理解為:var innerfunction = add(1),由此我們獲取到了內部函式物件並且執行父函式邏輯定義變數sum並賦值1;

2.那麼innerfunction(2)的執行結果就不難解析了,即sum = 1+2;此時sum為3

3.以此類推,另外乙個內部函式物件再執行下一步運算;此時sum =3+3;

4.alert呼叫tem的tostring方法,輸出運算最終結果6

舉一反三不難得出 alert(add(100)(2)(3))的輸出值為6;alert(add(1)(3)(3))的輸出值為7

自測題1道

看到這樣一樣題,想想就簡單的寫了寫自測一下,還是有很多收穫。需求 1.模擬銀行,客戶關係封裝類 2.客戶到銀行辦理業務需先排隊 3.銀行根據佇列處理業務,優選選擇金卡客戶 4.辦理建卡 存款 取錢 銷戶業務。思路 1.定義銀行類,客戶類,佇列類 2.思考現實例項,銀行 佇列只能有乙個例項,客戶可以有...

一道內部ctf檔案包含題

在burp裡看下 拿到原始碼 很明顯是一道檔案包含題目,包含cookie裡的值,於是構造cookie language chinese試試 檔案變成中文的了,說明中文語言進行了包含並替換 輸入flag試試 這裡發現並不能直接顯示出flag,而很奇怪的一點是之前的那些文字沒了 經過測試這裡只要不是ch...

一道演算法題

兩個燒杯,乙個放糖乙個放鹽,用勺子舀一勺糖到鹽,攪拌均勻,然後舀一勺混合 物會放糖的燒杯,問你兩個燒杯哪個雜質多?一樣多吧 對的 為啥?是不是因為 糖和鹽本來就是均勻的 因為,就算不攪拌均,你放一勺過去,那邊放一勺不含雜質的過來,那麼都是一勺雜之 如果攪拌均勻的話也是一樣 小依 21 45 32 也...