1. 程式人生 > >JS中函式內套函式的呼叫

JS中函式內套函式的呼叫

如果函式裡面套了一個函式,而且有return。那麼有兩種方法呼叫裡面巢狀的函式

function f1() {
    var n = 99;
    function f2() {
        alert(n);
    }
    return f2;
    //因為返回了f2,所以呼叫f1()時,返回的是函式f2
}

1,把函式賦值f1給變數,那麼呼叫變數時相當於呼叫f1的返回值——函式f2
function f1() {
    var n = 99;
    function f2() {
        alert(n);
    }
    return f2;
    //因為返回了f2,所以呼叫f1()時,返回的是函式f2
}
<span style="color:#3366ff;">var result = f1();
result();</span>
2,在f1()後面加個(),表示再一次呼叫返回值
function f1() {
    var n = 99;
    function f2() {
        alert(n);
    }
    return f2;
    //因為返回了f2,所以呼叫f1()時,返回的是函式f2
}
<span style="color:#3366ff;">f1()();</span>



相關推薦

JS函式函式呼叫

如果函式裡面套了一個函式,而且有return。那麼有兩種方法呼叫裡面巢狀的函式 function f1() { var n = 99; function f2() { alert(n); } return f2; //

Python apply 函式(關鍵詞:Python/函式/apply)

>>> apply <built-in function apply> >>> def a(): ... print 'i am a' ... >>> apply(a) i am a >>> de

day29 類函式方法 __str__ __repr__ __call__ isinstance() issubclass()

__str__()__repr__()__len__()str() 轉字串repr()   讓字元原形畢露的方法len() 計算長度 內建的方法很多,但是並不是全部都在object中,比如len(),__len__(),比如說數字,時間,還有物件都是無法計算長度 1 # __del

JS的自執行函式

轉自:https://www.cnblogs.com/zuiyirenjian/p/3535126.html 在JS中,也常常需要複用,將一些常見的操作封裝起來,目前看到的很多JS庫,比如JQuery就是非常典型的,那麼如何在JS中寫一個可複用的呢?雖然在JS中有類的這個說法,但是我對這個玩意還

python類函式

__init__():__init__方法在類的一個物件被建立時,馬上執行。這個方法可以用來對你的物件做一些你希望的初始化。注意,這個名稱的開始和結尾都是雙下劃線。程式碼例子: #!/usr/bin/python# Filename: class_init.pyclass Perso

GLSL(著色器語言)函式

x*y: 如果x和y都是向量,那麼該運算子進行的是逐分量的相乘計算;如果是矩陣相乘,那麼該運算子會返回一個線性相乘(線性代數中正常的矩陣乘法)的矩陣,而不是一個逐分量的相乘結果(如果想得到的是逐分量的相乘結果,那就需要使用matrixCompMult函式)。 dot(x,y

js獲取分秒的函式

  formatSeconds (value) { var secondTime = parseInt(value)// 秒 var minuteTime = 0// 分 if (secondTime > 60) { // 如果秒數大於60,

jssubstring和substr函式用法

函式:  stringObject.substring(start,stop)  引數:  start 必需。一個非負的整數,規定要提取的子串的第一個字元在 stringObject 中的位置。  stop 可選。一個非負的整數,比要提取的子串的最後一個字元在

js 常用的函式

  eval(string):將字串當做程式碼執行   isFinite(number):判斷一個數字是否是有限數值   isNaN(xxx):判斷是否是非數字(數字字串判斷時會轉換為數字)   parseInt()

30.面向物件常用函式與過載函式

 內建函式:類中特殊功能 __init__(self):      ###為例項物件賦值      1,可以沒有這個函式 例項沒資料      2,資料初始化函式        

js陣列操作常見函式forEach,map,reduce,filter,slice

var a = [1,22,333,4444,55555] function Counter() { this.sum = 0; } js中運算元組的常見函式有: forEach((ite

python函式(二)

1.部分內建函式  repr()顯示出字串的官方表示形式,返回一個物件的string形式 # repr 就是原封不動的輸出, 引號和轉義字元都不起作用 print(repr('大家好,\n \t我叫周杰倫')) print('大家好我叫周杰倫') # %r 原封不動的寫出來 name = 'taib

jseval()函式的使用

1.eval() 函式作用:可以接受一個字串str作為引數,並把這個引數作為指令碼程式碼來 執行。 2.引數情況:(1)如果引數是一個表示式,eval() 函式將執行表示式;          

20181209——JS的回撥函式

字面上的理解,回撥函式就是一個引數,將這個函式作為引數傳到另一個函式裡面,當那個函式執行完之後,再執行傳進去的這個函式。這個過程就叫做回撥。 其實也很好理解對吧,回撥,回撥,就是回頭呼叫的意思。主函式的事先幹完,回頭再呼叫傳進來的那個函式。但是以前看過很多部落格,他們總是將回調函式解釋

js的回撥函式callback

前言其實我一直很困惑關於js 中的callback,困惑的原因是,學習中這塊看的資料少,但是平時又經常見,偶爾複製一下前人程式碼,功能實現了也就不再去追其原由,這麼著,這個callback的概念就越來越混亂,因為你總感覺它是你Ajax請求後呼叫的那個函式,又感覺它是你某一個函式中的形

js的string.format函式程式碼

<1> String.prototype.format = function(args) { var result = this; if (arguments.length > 0) { if (arguments.le

SparkSQL函式

    使用Spark SQL中的內建函式對資料進行分析,Spark SQL API不同的是,DataFrame中的內建函式操作的結果是返回一個Column物件,而DataFrame天生就是"A distributed collection of data organize

JSeval()函式的重要性

eval()函式的使用率很高,那總結我經常在編寫中使用場景: 1.用來將伺服器返回的json字串 轉換成json物件: eval(“(“+jsonStr+”)”); 當要

js(function(){…})()立即執行函式寫法理解

javascript和其他程式語言相比比較隨意,所以javascript程式碼中充滿各種奇葩的寫法,有時霧裡看花,當然,能理解各型各色的寫法也是對javascript語言特性更進一步的深入理解。 ( function(){…} )()和( function (){…} ()

js變數名與函式名重名的問題

網上有很多的部落格有談到這個重名的問題,但是我覺得將不算是很全面,至少我看了還是不懂下面這道題到底是怎麼回事。那在講解這個問題的時候,我們先來看看下面這道題,一道面試題(南山西麗xx研究院): var a = 1; function b(){ a = 10;