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

資訊專欄INFORMATION COLUMN

JavaScript 函數(shù)簡介

SHERlocked93 / 3490人閱讀

摘要:函數(shù)簡介函數(shù)的概念函數(shù)就是把特定功能的代碼抽取出來,使之成為程序中的一個(gè)獨(dú)立實(shí)體,起個(gè)名字函數(shù)名。因此在函數(shù)調(diào)用過程中,當(dāng)形參值發(fā)生改變,而實(shí)參中的值不會(huì)變化。

JavaScript 函數(shù)簡介 JS函數(shù)的概念

函數(shù)就是把特定功能的代碼抽取出來,使之成為程序中的一個(gè)獨(dú)立實(shí)體,起個(gè)名字(函數(shù)名)。

函數(shù)的作用

正如函數(shù)的概念, 我們可以根據(jù)代碼需要, 將特定的功能用函數(shù)來包裹

使用函數(shù)的好處

函數(shù)可以在同一個(gè)程序或其他程序中多次重復(fù)使用(通過函數(shù)名調(diào)用)

使程序變得更簡短而清晰

有利于程序維護(hù)

函數(shù)的分類

函數(shù)可以分為:內(nèi)置函數(shù)自定義函數(shù)

內(nèi)置函數(shù):

是官方提供好的函數(shù),可以直接使用
如:  alert(),   isNaN(), console.log() parseInt()等

自定義函數(shù):
是用戶自己定義的函數(shù), 用戶可以根據(jù)實(shí)際需求, 對特定的功能使用函數(shù)來封裝

函數(shù)定義和調(diào)用

函數(shù)簡單定義

語法格式:

function  函數(shù)名() {
           代碼塊;
      }

注意:

必須使用function關(guān)鍵字, 且為小寫, 函數(shù)名自定義

函數(shù)名的命名規(guī)則和變量名一致

函數(shù)名后必須寫圓括號(hào)()

例如:定義一個(gè)函數(shù) ShowTips

function ShowTips(x,y){
  alert("我要飛得更高");
}

函數(shù)調(diào)用

函數(shù)的調(diào)用方式: 函數(shù)名()

 function ShowTips(x,y){
  alert("我要飛得更高");
}
ShowTips();

注意:
1.調(diào)用函數(shù)后會(huì)執(zhí)行函數(shù)內(nèi)部的代碼塊;
2.函數(shù)在不調(diào)用的情況下是不會(huì)執(zhí)行的, 只有調(diào)用后函數(shù)中的代碼才會(huì)執(zhí)行

函數(shù)標(biāo)準(zhǔn)定義

語法格式:

function 函數(shù)名(參數(shù)1,參數(shù)2,……)
      {
            執(zhí)行語句;
            return 返回值;
      }

注意:

函數(shù)名后圓括號(hào)()中的參數(shù)數(shù)量不定, 也可以沒有; (根據(jù)功能需要)

return關(guān)鍵字的作用是將某個(gè)值返回, 如果沒有返回值則默認(rèn)返回undefined;

案例:定義一個(gè)函數(shù)Add求兩個(gè)數(shù)相加之和

function Add(x,y){
  var sum=x+y;
  return sum;
}

var result=Add(2,3); //函數(shù)調(diào)用
 alert(result);

注意:
1.函數(shù)體語句執(zhí)行到return時(shí),函數(shù)就終止代碼執(zhí)行(return后的代碼不會(huì)執(zhí)行)
2.如果return后有返回值,則把這個(gè)值返回到函數(shù)調(diào)用執(zhí)行的地方

形參和實(shí)參

形參:

形參就是在函數(shù)定義時(shí),函數(shù)名后面的參數(shù);
函數(shù)的形參跟變量是一樣使用,且不能用var修飾

實(shí)參:

  實(shí)參就是調(diào)用時(shí),函數(shù)名后面的參數(shù)

如: 之前定義的函數(shù)Add中: x和y是形參, 2和3是實(shí)參

function Add(x,y){
  var sum=x+y;
  return sum;
}

var result=Add(2,3); //函數(shù)調(diào)用
alert(result);

注意:
1.在傳值調(diào)用的機(jī)制中只能把實(shí)參傳送給形參,而不能把形參的值反向地傳送給實(shí)參。
2.因此在函數(shù)調(diào)用過程中,當(dāng)形參值發(fā)生改變,而實(shí)參中的值不會(huì)變化。

arguments

arguments:函數(shù)內(nèi)部隱藏的數(shù)組對象,保存著實(shí)參的信息,可以直接使用
函數(shù)在傳遞參數(shù)時(shí)就是用這個(gè)數(shù)組arguments來保存的
arguments.length:保存著實(shí)參的數(shù)量

函數(shù)的作用域

作用域: 就是起作用的范圍?;蛘哒f有效范圍; 這里涉及到另外兩個(gè)概念。

局部變量:

定義在函數(shù)內(nèi)部的變量,這個(gè)變量只能在函數(shù)內(nèi)部使用,即作用域范圍只是函數(shù)內(nèi)部,另外,形參也是局部變量.
ps:函數(shù)內(nèi)的變量使用遵循:就近原則

全局變量:

全局變量就是定義在函數(shù)外部的變量,這個(gè)變量在任何函數(shù)中都有效,即作用域范圍是當(dāng)前文件的任何地方.

JavaScript默認(rèn)有一個(gè)全局對象window,全局作用域的變量實(shí)際上被綁定到window的一個(gè)屬性:

注意: 在定義變量時(shí), 如果不寫關(guān)鍵字var也是合法的, 且是全局變量, 但是這樣寫不安全,容易在其他地方被更改, 所以我們在函數(shù)中寫變量要加上var

變量聲明提前

語句:

var str1="abc";
var sum=str1+str2;
var str2="hello";
console.log(sum); //abcundefined

//JavaScript引擎自動(dòng)提升了變量str2的聲明,但不會(huì)提升變量str2的賦值

函數(shù)的嵌套

函數(shù)的嵌套: 函數(shù)內(nèi)部可以再包含其他函數(shù);
函數(shù)之間允許相互調(diào)用(不能同時(shí)調(diào)用),也允許向外調(diào)用,
如果互相同時(shí)調(diào)用:就會(huì)出現(xiàn)死循環(huán)

對象函數(shù)的定義和調(diào)用

對象函數(shù)的定義

var 對象={
  屬性名:屬性值,
  屬性方法名:匿名函數(shù)
}

調(diào)用: 對象.屬性方法名()

事件驅(qū)動(dòng):

  因?yàn)楹瘮?shù)不會(huì)主動(dòng)執(zhí)行, 只有當(dāng)調(diào)用的時(shí)候才會(huì)執(zhí)行函數(shù)中的代碼,  在前面的dom操作示例中,我們點(diǎn)擊了按鈕才觸發(fā)函數(shù)調(diào)用
  所有的函數(shù),沒有調(diào)用不會(huì)執(zhí)行,那么在我們?yōu)g覽器中函數(shù)調(diào)用的源頭在何處,就是事件, 只有使用事件去驅(qū)動(dòng), 函數(shù)才被調(diào)用; 如: onclick: 點(diǎn)擊事件

示例: 點(diǎn)擊搜索按鈕調(diào)用函數(shù)打印出文本框內(nèi)容, 再清空文本框的內(nèi)容

函數(shù)的遞歸調(diào)用

遞歸調(diào)用:

  函數(shù)可以自己調(diào)用自己, 成為函數(shù)的遞歸調(diào)用;
function fact(num){
    var sum;
    if (num<=1){
      sum=1;
    }else{
      sum=num*fact(num-1);
    }
     return sum;
}
alert(fact(6));

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/100602.html

相關(guān)文章

  • JavaScript數(shù)據(jù)結(jié)構(gòu)與算法》筆記——第1章 JavaScript簡介

    摘要:異或左移右移刪除屬性不同類型之間比較在比較對象時(shí),比較的是引用和是內(nèi)部方法對不同的類型返回結(jié)果如下表對不同類型返回結(jié)果如下類申明函數(shù)有兩種方法在原型上申明函數(shù),只會(huì)創(chuàng)建一次,在所有實(shí)例中共享,可以節(jié)約內(nèi)存和降低實(shí)例化的開銷在類定義中申明函數(shù) ^ 異或 > 右移 delete 刪除屬性 不同類型之間==比較 showImg(https://segmentfault.c...

    Cheng_Gang 評論0 收藏0
  • JavaScript 權(quán)威指南》讀書筆記 1 - 簡介

    摘要:原文第一章主要介紹的大概情況基本語法。通過和來引用對象屬性或數(shù)組元素的值就構(gòu)成一個(gè)表達(dá)式。 原文:https://keelii.github.io/2016/06/16/javascript-definitive-guide-note-0/ 第一章 主要介紹 JavaScript 的大概情況、基本語法。之前沒有 JavaScript 基礎(chǔ)的看不懂也沒關(guān)系,后續(xù)章節(jié)會(huì)有進(jìn)一步的詳細(xì)說明...

    sydMobile 評論0 收藏0
  • JavaScript編程語言簡介

    摘要:介紹是世界上最流行的編程語言之一。作為第一個(gè)也是唯一一個(gè)由瀏覽器本機(jī)支持的腳本語言。的基本定義是一種編程語言,它是高級(jí)的它允許您忽略運(yùn)行它的機(jī)器的詳細(xì)信息。,也稱為變化也是巨大的。目前最新批準(zhǔn)的版本是 介紹 JavaScript是世界上最流行的編程語言之一。 自20年前創(chuàng)建以來,它來已經(jīng)走了很長一段路。 作為第一個(gè)也是唯一一個(gè)由Web瀏覽器本機(jī)支持的腳本語言。 在一開始,它并沒有像現(xiàn)在...

    hiyang 評論0 收藏0
  • JSON簡介

    1.JSON語法 JSON是一種輕量級(jí)的數(shù)據(jù)交換格式。JSON語法可以表示以下三種類型的值: 簡單值:string,number,boolean,null,不支持undefined 對象 數(shù)組 語法: JSON字符串必須使用雙引號(hào) 沒有聲明變量 沒有末尾的分號(hào) 2.JSON解析與序列化 2.1JSON序列化 序列化函數(shù):JSON.stringify()JSON.stringify()可接收...

    LucasTwilight 評論0 收藏0
  • JavaScript 簡介

    摘要:簡介原文鏈接簡稱是一種輕量級(jí),解釋型的編程語言,其函數(shù)是一等公民。標(biāo)準(zhǔn)的目標(biāo)是讓任何一種程序設(shè)計(jì)語言能操控使用任何一種標(biāo)記語言編寫出的任何一份文檔。核心規(guī)定了如何映射基于的文檔結(jié)構(gòu),以便簡化對文檔的任意部分的訪問和操作。 JavaScript 簡介 原文鏈接 JavaScript ( 簡稱:JS ) 是一種 輕量級(jí),解釋型 的編程語言,其函數(shù)是一等公民。眾所周知,它是用于網(wǎng)頁開發(fā)的腳...

    URLOS 評論0 收藏0

發(fā)表評論

0條評論

SHERlocked93

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<