摘要:函數(shù)簡介函數(shù)的概念函數(shù)就是把特定功能的代碼抽取出來,使之成為程序中的一個獨(dú)立實體,起個名字函數(shù)名。因此在函數(shù)調(diào)用過程中,當(dāng)形參值發(fā)生改變,而實參中的值不會變化。
JavaScript 函數(shù)簡介 JS函數(shù)的概念
函數(shù)就是把特定功能的代碼抽取出來,使之成為程序中的一個獨(dú)立實體,起個名字(函數(shù)名)。
函數(shù)的作用正如函數(shù)的概念, 我們可以根據(jù)代碼需要, 將特定的功能用函數(shù)來包裹
使用函數(shù)的好處函數(shù)可以在同一個程序或其他程序中多次重復(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ù)簡單定義
語法格式:
function 函數(shù)名() { 代碼塊; }
注意:
必須使用function關(guān)鍵字, 且為小寫, 函數(shù)名自定義
函數(shù)名的命名規(guī)則和變量名一致
函數(shù)名后必須寫圓括號()
例如:定義一個函數(shù) ShowTips
function ShowTips(x,y){ alert("我要飛得更高"); }
函數(shù)調(diào)用
函數(shù)的調(diào)用方式: 函數(shù)名()
function ShowTips(x,y){ alert("我要飛得更高"); } ShowTips();
注意:
1.調(diào)用函數(shù)后會執(zhí)行函數(shù)內(nèi)部的代碼塊;
2.函數(shù)在不調(diào)用的情況下是不會執(zhí)行的, 只有調(diào)用后函數(shù)中的代碼才會執(zhí)行
函數(shù)標(biāo)準(zhǔn)定義
語法格式:
function 函數(shù)名(參數(shù)1,參數(shù)2,……) { 執(zhí)行語句; return 返回值; }
注意:
函數(shù)名后圓括號()中的參數(shù)數(shù)量不定, 也可以沒有; (根據(jù)功能需要)
return關(guān)鍵字的作用是將某個值返回, 如果沒有返回值則默認(rèn)返回undefined;
案例:定義一個函數(shù)Add求兩個數(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ù)就終止代碼執(zhí)行(return后的代碼不會執(zhí)行)
2.如果return后有返回值,則把這個值返回到函數(shù)調(diào)用執(zhí)行的地方
形參:
形參就是在函數(shù)定義時,函數(shù)名后面的參數(shù); 函數(shù)的形參跟變量是一樣使用,且不能用var修飾
實參:
實參就是調(diào)用時,函數(shù)名后面的參數(shù)
如: 之前定義的函數(shù)Add中: x和y是形參, 2和3是實參
function Add(x,y){ var sum=x+y; return sum; } var result=Add(2,3); //函數(shù)調(diào)用 alert(result);
注意:
1.在傳值調(diào)用的機(jī)制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。
2.因此在函數(shù)調(diào)用過程中,當(dāng)形參值發(fā)生改變,而實參中的值不會變化。
arguments
arguments:函數(shù)內(nèi)部隱藏的數(shù)組對象,保存著實參的信息,可以直接使用
函數(shù)在傳遞參數(shù)時就是用這個數(shù)組arguments來保存的
arguments.length:保存著實參的數(shù)量
作用域: 就是起作用的范圍。或者說有效范圍; 這里涉及到另外兩個概念。
局部變量:
定義在函數(shù)內(nèi)部的變量,這個變量只能在函數(shù)內(nèi)部使用,即作用域范圍只是函數(shù)內(nèi)部,另外,形參也是局部變量.
ps:函數(shù)內(nèi)的變量使用遵循:就近原則
全局變量:
全局變量就是定義在函數(shù)外部的變量,這個變量在任何函數(shù)中都有效,即作用域范圍是當(dāng)前文件的任何地方.
JavaScript默認(rèn)有一個全局對象window,全局作用域的變量實際上被綁定到window的一個屬性:
注意: 在定義變量時, 如果不寫關(guān)鍵字var也是合法的, 且是全局變量, 但是這樣寫不安全,容易在其他地方被更改, 所以我們在函數(shù)中寫變量要加上var
變量聲明提前
語句:
var str1="abc"; var sum=str1+str2; var str2="hello"; console.log(sum); //abcundefined
//JavaScript引擎自動提升了變量str2的聲明,但不會提升變量str2的賦值
函數(shù)的嵌套函數(shù)的嵌套: 函數(shù)內(nèi)部可以再包含其他函數(shù);
函數(shù)之間允許相互調(diào)用(不能同時調(diào)用),也允許向外調(diào)用,
如果互相同時調(diào)用:就會出現(xiàn)死循環(huán)
對象函數(shù)的定義
var 對象={ 屬性名:屬性值, 屬性方法名:匿名函數(shù) } 調(diào)用: 對象.屬性方法名()
事件驅(qū)動:
因為函數(shù)不會主動執(zhí)行, 只有當(dāng)調(diào)用的時候才會執(zhí)行函數(shù)中的代碼, 在前面的dom操作示例中,我們點(diǎn)擊了按鈕才觸發(fā)函數(shù)調(diào)用 所有的函數(shù),沒有調(diào)用不會執(zhí)行,那么在我們?yōu)g覽器中函數(shù)調(diào)用的源頭在何處,就是事件, 只有使用事件去驅(qū)動, 函數(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://specialneedsforspecialkids.com/yun/100602.html
摘要:異或左移右移刪除屬性不同類型之間比較在比較對象時,比較的是引用和是內(nèi)部方法對不同的類型返回結(jié)果如下表對不同類型返回結(jié)果如下類申明函數(shù)有兩種方法在原型上申明函數(shù),只會創(chuàng)建一次,在所有實例中共享,可以節(jié)約內(nèi)存和降低實例化的開銷在類定義中申明函數(shù) ^ 異或 > 右移 delete 刪除屬性 不同類型之間==比較 showImg(https://segmentfault.c...
摘要:原文第一章主要介紹的大概情況基本語法。通過和來引用對象屬性或數(shù)組元素的值就構(gòu)成一個表達(dá)式。 原文:https://keelii.github.io/2016/06/16/javascript-definitive-guide-note-0/ 第一章 主要介紹 JavaScript 的大概情況、基本語法。之前沒有 JavaScript 基礎(chǔ)的看不懂也沒關(guān)系,后續(xù)章節(jié)會有進(jìn)一步的詳細(xì)說明...
摘要:介紹是世界上最流行的編程語言之一。作為第一個也是唯一一個由瀏覽器本機(jī)支持的腳本語言。的基本定義是一種編程語言,它是高級的它允許您忽略運(yùn)行它的機(jī)器的詳細(xì)信息。,也稱為變化也是巨大的。目前最新批準(zhǔn)的版本是 介紹 JavaScript是世界上最流行的編程語言之一。 自20年前創(chuàng)建以來,它來已經(jīng)走了很長一段路。 作為第一個也是唯一一個由Web瀏覽器本機(jī)支持的腳本語言。 在一開始,它并沒有像現(xiàn)在...
1.JSON語法 JSON是一種輕量級的數(shù)據(jù)交換格式。JSON語法可以表示以下三種類型的值: 簡單值:string,number,boolean,null,不支持undefined 對象 數(shù)組 語法: JSON字符串必須使用雙引號 沒有聲明變量 沒有末尾的分號 2.JSON解析與序列化 2.1JSON序列化 序列化函數(shù):JSON.stringify()JSON.stringify()可接收...
摘要:簡介原文鏈接簡稱是一種輕量級,解釋型的編程語言,其函數(shù)是一等公民。標(biāo)準(zhǔn)的目標(biāo)是讓任何一種程序設(shè)計語言能操控使用任何一種標(biāo)記語言編寫出的任何一份文檔。核心規(guī)定了如何映射基于的文檔結(jié)構(gòu),以便簡化對文檔的任意部分的訪問和操作。 JavaScript 簡介 原文鏈接 JavaScript ( 簡稱:JS ) 是一種 輕量級,解釋型 的編程語言,其函數(shù)是一等公民。眾所周知,它是用于網(wǎng)頁開發(fā)的腳...
閱讀 3540·2019-08-30 12:58
閱讀 923·2019-08-29 16:37
閱讀 2796·2019-08-29 16:29
閱讀 3105·2019-08-26 12:18
閱讀 2365·2019-08-26 11:59
閱讀 3405·2019-08-23 18:27
閱讀 2770·2019-08-23 16:43
閱讀 3301·2019-08-23 15:23