久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日焦點 焦點資訊 營銷之道 企業(yè)報道 淘寶運營 網(wǎng)站建設(shè) 軟件開發(fā) 400電話
  當前位置: 首頁 » 資訊 » 軟件開發(fā) » 正文

js函數(shù)需要掌握的知識

放大字體  縮小字體 發(fā)布日期:2018-02-28  來源:企業(yè)800網(wǎng)  作者:新格網(wǎng)  瀏覽次數(shù):118  【去百度看看】
核心提示:?要知道,在js中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),包含5種引用類型,分別是Object,data,Array,re請輸入代碼gExp,Function。今天我們就說Function這種數(shù)據(jù)結(jié)構(gòu)。 在js種函數(shù)實際上是對象,每個函數(shù)都是Function類型的實例。和其他引用類型一樣,都具有屬性和方法。
要知道,在js中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),包含5種引用類型,分別是Object,data,Array,re請輸入代碼gExp,Function。今天我們就說Function這種數(shù)據(jù)結(jié)構(gòu)。 在js種函數(shù)實際上是對象,每個函數(shù)都是Function類型的實例。和其他引用類型一樣,都具有屬性和方法。

1. 函數(shù)定義有幾種方法

  1. 函數(shù)聲明語法定義

        function sum(num1,num2){
       return num1+num2;
      }
  2. 函數(shù)表達式
    注意函數(shù)表達式后邊有一個分號;

   var sum=function(num1,num2){
      return num1+num2;
}
  1. 使用Function 構(gòu)造函數(shù)

    使用構(gòu)造函數(shù)可以接收任意數(shù)量的參數(shù),但最后一個參數(shù)始終被看成是函數(shù)體,而前面的參數(shù)則枚舉出了參數(shù)
var sum=new Function("num1","num2","return num1+num2")

當然第三種方法不友好,也不推薦。

函數(shù)名僅僅是指向函數(shù)的指針,所以函數(shù)名與包含對象指針的其他變量沒有什么不同。也就是說一個函數(shù)可能會有多個名字。

在這里函數(shù)聲明和函數(shù)表達式有什么區(qū)別呢?
解析器在向執(zhí)行環(huán)境中加載數(shù)據(jù)的時候,對函數(shù)聲明和函數(shù)表達式是不一樣的。解析器首先會讀取函數(shù)聲明,并且使得這段函數(shù)聲明代碼在任何代碼之前都可調(diào)用。這就是我們平時所說的函數(shù)聲明提升。函數(shù)表達式不一樣,他必須等到函數(shù)解析器執(zhí)行到他所在的代碼塊的時候,才會被真正的執(zhí)行。比較下面2個例子

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

function sum(n1,n2){
   return n1+n2;
}

以上代碼會正常執(zhí)行

再看!

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

var sum=function(n1,n2){
   return n1+n2;
}

以上執(zhí)行器就會報錯!

2.函數(shù)沒有重載

如果聲明了2個同名函數(shù),結(jié)果是后面的函數(shù)覆蓋了前面的函數(shù)。

function sun(a){
  return a+100;
}
function sun(a){
  return a+200;
}

var result=sum(2)//202

3.函數(shù)的內(nèi)部屬性

  • 包括this,arguments

    具體不再敘述了

4.函數(shù)的屬性和方法

  • 函數(shù)有2個屬性,length和prototype

length表示函數(shù)希望接收命名參數(shù)的個數(shù)。

function a(name){
 //todo
}
function b(name,age){
 //todo
}
function c(){
 //todo
}

a.length //1
b.length //2
c.length //0

prototype屬性對于引用類型來說很重要,會有專門講解,此處不再這贅述。

  • 每個函數(shù)都包含2個非繼承的方法 apply,call

這兩個方法的用途都是在特定的作用域中調(diào)用函數(shù),其實就是設(shè)置函數(shù)體內(nèi)的this指代的值。

首先。apply()方法接收2個參數(shù),一個是函數(shù)運行的作用域,另一個是參數(shù)數(shù)組,第二個參數(shù)可以是數(shù)組的實例,也可以是arguments.

function sum(num1,num2){
   return num1+num2;
}

function test1(a,b){
    return sum.apply(this,arguments);
}

function test2(c,d){
    return sum.apply(this.[c,d]);
}

console.log(test1(1,1)) //2

console.log(test2(1,1)) //2

call方法和apply方法沒有多大的區(qū)別。區(qū)別就是call方法的第二個參數(shù)必須得傳遞的參數(shù)一個個列舉出來。

使用call和apply來擴充作用域最大的好處就是對象不和任何方法耦合。

相關(guān)推薦:

JS函數(shù)實例詳解

js函數(shù)的按值傳遞參數(shù)

js函數(shù)的調(diào)用及有關(guān)隱式參數(shù)arguments和this的問題

以上就是js函數(shù)需要掌握的知識的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!

 
關(guān)鍵詞: javascript,知識,掌握
長春  短信群發(fā)  吉林省  紅視窗  中國  長春市  玉米  長春網(wǎng)站建設(shè)  網(wǎng)站  振華  設(shè)備  設(shè)計  吉林  廣州  撲克  長春上門維修電腦  敘利亞  內(nèi)蒙古  聯(lián)合聲明  消費者權(quán)益  突擊步槍  新聞中心  化學(xué)武器  中非合作論壇  中國政府  滿洲里  美國白宮  記者會  塞內(nèi)加爾  中消協(xié)  強臺風(fēng)  中國電影  消費者  海外網(wǎng)  長春北大青鳥  中國智能建筑節(jié)  敘政府  重慶市  網(wǎng)站建設(shè)  北京市  國家元首  長春上門修電腦  產(chǎn)業(yè)園  北斗導(dǎo)航  中國芯  龍頭企業(yè)  黨委書記  長春上門做系統(tǒng)  長春電腦上門維修  塞申斯  侯建國,質(zhì)量,中國特色社會主義  售前咨詢技巧  俄羅斯  發(fā)言人  特朗普,貿(mào)易戰(zhàn),美國  運載火箭  中國軍網(wǎng)  今日頭條  美國人  特朗普  長春國貿(mào)  位置服務(wù)  英國皇家海軍  一帶一路  中國移動  人民政府  檢察官  中國市場  發(fā)布會  美國海軍陸戰(zhàn)隊  小學(xué)生  撫養(yǎng)費  指示  圓桌  觀察者網(wǎng)  白宮  彈道導(dǎo)彈  小雨  郭曉東  美國  亞馬遜  臺風(fēng)  參議院  尼克松  日本  國家安全  化武  步槍  大阪  毒品  動物世界  廣東省  劉強東  美國陸軍  中國空軍  非洲  劉雨欣  美國總統(tǒng)  結(jié)婚紀念日  越野車 
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規(guī)舉報 ]  [ 關(guān)閉窗口 ]

 
0條 [查看全部]  相關(guān)評論

 
網(wǎng)站首頁 | 關(guān)于我們 | 聯(lián)系方式 | 使用協(xié)議 | 版權(quán)隱私 | 網(wǎng)站地圖 | 排名推廣 | 廣告服務(wù) | 積分換禮 | 網(wǎng)站留言 | RSS訂閱 | 皖I(lǐng)CP備2021004516號-14
企業(yè)800網(wǎng) · 提供技術(shù)支持