成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Function 類型的七點(diǎn)總結(jié)

SimpleTriangle / 3383人閱讀

一、不帶圓括號的函數(shù)名訪問的是函數(shù)指針,而非調(diào)用函數(shù)
function sum(num1,num2){

return num1+num2;

}

console.log(sum(10,10));//20

console.log(sum);  //function sum(num1, num2)

console.log(sum()); //NaN

var anotherSum=sum;

console.log(anotherSum(10,10));//20

sum=null;    //使得sum()函數(shù)的指針為空

console.log(anotherSum(10,10));//20

console.log(sum(10,10));//uncaught TypeError: sum is not a function
二、ECMAScript 沒有函數(shù)重載的概念
  

雖然函數(shù)名可以理解為指針,但是ECMAScript 沒有函數(shù)重載的概念 如果申明了同名的函數(shù),則按順序,后面的函數(shù)覆蓋掉前面的函數(shù)

三、函數(shù)申明與函數(shù)表達(dá)式的區(qū)別---函數(shù)申明會被解釋器預(yù)先讀?。╢unction declaration hoisting)
        alert(sum(10,10));//20;因為預(yù)先讀取到了sum()函數(shù)的申明

        alert(sum1(10,10))//報錯,因為找不到sum1()函數(shù);
        function sum(num1,num2){

        return num1+num2;

        }

        var sum1=function(num1,num2){

        return num1+num2;

        }
四、var sum=function( ){...} 和 sum=function( ){....}的區(qū)別?
  

和變量的定義是相似的,缺少 var 關(guān)鍵字,定義的就是全局變量。 但是這兩種寫法都是函數(shù)的表達(dá)式寫法。

五、在函數(shù)內(nèi)部有兩個特殊的對象:arguments 和 this

arguments 是一個數(shù)組,主要作用是保存函數(shù)參數(shù)-----所以javascript函數(shù)不在乎傳進(jìn)來什么類型的參數(shù),也不在乎傳進(jìn)來幾個參數(shù).

作用一:可以直接利用數(shù)組訪問參數(shù) ,如arguments[0];

作用二:在遞歸函數(shù)中的應(yīng)用--------arguments.callee();

  

這里重點(diǎn)說明一下arguments.callee();它相當(dāng)于FunctionaName( )

    function factorial(num){

    if (num<=1){

    return 1;

    }else{

    return num*arguments.callee(num-1);

    }

    }

不用 return num*factorial( num-1);的目的就是擔(dān)心函數(shù)名在發(fā)生變化,程序會出錯 這叫消除緊密耦合現(xiàn)象

六、函數(shù)的兩個屬性和方法
  

每個函數(shù)都包含length 和prototype 屬性

length用法: FunctionName.length 可以得到函數(shù)當(dāng)前傳入的參數(shù)個數(shù)

prototype用法:函數(shù)的原型屬性,很多函數(shù)的方法依托于這個屬性,也是實(shí)現(xiàn)函數(shù)繼承的重要因素

  

每個函數(shù)都包含非繼承來的兩個方法:apply( )call( );

主要的意義在于:(1)傳遞函數(shù)參數(shù)(2)擴(kuò)充函數(shù)的作用域

舉個栗子:

//apply()和call()擴(kuò)充函數(shù)作用域,功能:在特定的作用域中調(diào)用函數(shù)

        window.color="red";

        var object={ color:"blue"}

        function sayColor(){

        alert(this.color);

        }

        sayColor();//red--函數(shù)內(nèi)部作用域中沒有color屬性,便利用函數(shù)作用域鏈向上找到全局window.color="red"

        sayColor.call(this);//red--調(diào)用函數(shù)內(nèi)部作用于,找color,沒找到便向上查找找到全局window.color="red"

        sayColor.call(object);//blue--函數(shù)體內(nèi)部this指針指向object,所以找到 color:"blue"

        sayColor.call(window);//red--同理找到全局作用域window.color="red"
七、涉及到的專業(yè)術(shù)語

function declaration hoisting (函數(shù)申明提升) 避免函數(shù)的緊密耦合

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/85733.html

相關(guān)文章

  • 《JS高級程序設(shè)計》讀書筆記----JS創(chuàng)建對象的七種模式

    摘要:用對象字面量形式創(chuàng)建的對象,直接賦值給函數(shù)的原型對象,本質(zhì)上完全重寫了其對象,因此屬性也就變成了新對象的屬性指向構(gòu)造函數(shù),不再指向函數(shù)。 【上一篇】:JavaScript對象內(nèi)部屬性及其特性總結(jié) showImg(https://segmentfault.com/img/bVbjYsc?w=839&h=489); 工廠模式(★★) 先在內(nèi)部顯示地創(chuàng)建一個臨時對象,根據(jù)接收的參數(shù)來構(gòu)建(賦...

    Dogee 評論0 收藏0
  • DOMJS高級程序設(shè)計筆記——DOM2和DOM3

    摘要:對象包含下列屬性返回整條規(guī)則對應(yīng)的文本包括選擇符和花括號返回當(dāng)前規(guī)則的選擇符一個對象返回規(guī)則中所有的樣式當(dāng)前規(guī)則所屬的樣式表表示規(guī)則類型的常量值。從文檔中分離解除引用推薦在使用完范圍后再執(zhí)行上述兩個步驟。 DOM1級主要定義了HTML和XML文檔的底層結(jié)構(gòu),DOM2和DOM3則在DOM1的基礎(chǔ)上引入了更多的交互功能,支持了更高級的XML特性。DOM2和DOM3分為許多模塊(模塊之間具...

    zzir 評論0 收藏0
  • Python中的對日期時間的處理

    摘要:中提供了一個和的模塊可以用來做格式化日期和時間的。格式化日期通過模塊中方法來格式化日期函數(shù)接收時間元組并返回以可讀字符串表示薪資的時間格式的話由參數(shù)決定。每日寬度間隔為字符每行的長度為是每星期的行數(shù)。 我們可以通過學(xué)習(xí)在Python中對日期時間的處理,可以在快速的完成工作,比如: 將日期時間作為日志信息的內(nèi)容輸入 計算某一個功能的執(zhí)行時間 用日期命名一個文件的名稱 記錄或者展示文件的...

    techstay 評論0 收藏0
  • 懶人法寶:定時訂票詳解

    摘要:背景訂票網(wǎng)站韻動株洲游泳館訂票網(wǎng)站訂票規(guī)則用戶當(dāng)天,預(yù)約第二日免費(fèi)游泳公益券領(lǐng)取資格,每位用戶每天只能預(yù)訂一張如有余票當(dāng)天也可預(yù)訂。 前言 暑假閑來無事,每天上午的寶貴時間想去游泳,減減肚子,練練耐力,正好我們那個地方游泳館上午提供免費(fèi)的票,但是,需要前一天早上七點(diǎn)開始預(yù)定第二天上午的免費(fèi)游泳票。往年暑假,我是每天早上六點(diǎn)五十五準(zhǔn)時起床,眼睛半睜不睜的等著七點(diǎn)一到,立馬搶票!搶完一臉解...

    kid143 評論0 收藏0

發(fā)表評論

0條評論

SimpleTriangle

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<