摘要:函數(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ù)簡單定義
語法格式:
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ù)的形參跟變量是一樣使用,且不能用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ù)量
作用域: 就是起作用的范圍?;蛘哒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ù)的定義
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
摘要:異或左移右移刪除屬性不同類型之間比較在比較對象時(shí),比較的是引用和是內(nèi)部方法對不同的類型返回結(jié)果如下表對不同類型返回結(jié)果如下類申明函數(shù)有兩種方法在原型上申明函數(shù),只會(huì)創(chuàng)建一次,在所有實(shí)例中共享,可以節(jié)約內(nèi)存和降低實(shí)例化的開銷在類定義中申明函數(shù) ^ 異或 > 右移 delete 刪除屬性 不同類型之間==比較 showImg(https://segmentfault.c...
摘要:原文第一章主要介紹的大概情況基本語法。通過和來引用對象屬性或數(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ì)說明...
摘要:介紹是世界上最流行的編程語言之一。作為第一個(gè)也是唯一一個(gè)由瀏覽器本機(jī)支持的腳本語言。的基本定義是一種編程語言,它是高級(jí)的它允許您忽略運(yùn)行它的機(jī)器的詳細(xì)信息。,也稱為變化也是巨大的。目前最新批準(zhǔn)的版本是 介紹 JavaScript是世界上最流行的編程語言之一。 自20年前創(chuàng)建以來,它來已經(jīng)走了很長一段路。 作為第一個(gè)也是唯一一個(gè)由Web瀏覽器本機(jī)支持的腳本語言。 在一開始,它并沒有像現(xiàn)在...
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()可接收...
摘要:簡介原文鏈接簡稱是一種輕量級(jí),解釋型的編程語言,其函數(shù)是一等公民。標(biāo)準(zhǔn)的目標(biāo)是讓任何一種程序設(shè)計(jì)語言能操控使用任何一種標(biāo)記語言編寫出的任何一份文檔。核心規(guī)定了如何映射基于的文檔結(jié)構(gòu),以便簡化對文檔的任意部分的訪問和操作。 JavaScript 簡介 原文鏈接 JavaScript ( 簡稱:JS ) 是一種 輕量級(jí),解釋型 的編程語言,其函數(shù)是一等公民。眾所周知,它是用于網(wǎng)頁開發(fā)的腳...
閱讀 3574·2019-08-30 12:58
閱讀 946·2019-08-29 16:37
閱讀 2848·2019-08-29 16:29
閱讀 3127·2019-08-26 12:18
閱讀 2399·2019-08-26 11:59
閱讀 3441·2019-08-23 18:27
閱讀 2814·2019-08-23 16:43
閱讀 3324·2019-08-23 15:23