成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Function 類型的七點總結

SimpleTriangle / 3311人閱讀

一、不帶圓括號的函數(shù)名訪問的是函數(shù)指針,而非調用函數(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ù)表達式的區(qū)別---函數(shù)申明會被解釋器預先讀取(function declaration hoisting)
        alert(sum(10,10));//20;因為預先讀取到了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 關鍵字,定義的就是全局變量。 但是這兩種寫法都是函數(shù)的表達式寫法。

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

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

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

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

  

這里重點說明一下arguments.callee();它相當于FunctionaName( )

    function factorial(num){

    if (num<=1){

    return 1;

    }else{

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

    }

    }

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

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

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

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

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

  

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

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

舉個栗子:

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

        window.color="red";

        var object={ color:"blue"}

        function sayColor(){

        alert(this.color);

        }

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

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

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

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

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

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

轉載請注明本文地址:http://systransis.cn/yun/85733.html

相關文章

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

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

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

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

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

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

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

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

    kid143 評論0 收藏0

發(fā)表評論

0條評論

SimpleTriangle

|高級講師

TA的文章

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