国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【編程向?qū)А縅avaScript-基礎(chǔ)語(yǔ)法-語(yǔ)句和聲明二期講解

這篇具有很好參考價(jià)值的文章主要介紹了【編程向?qū)А縅avaScript-基礎(chǔ)語(yǔ)法-語(yǔ)句和聲明二期講解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

switch 語(yǔ)句

switch 語(yǔ)句允許一個(gè)程序求一個(gè)表達(dá)式的值并且嘗試去匹配表達(dá)式的值到一個(gè) case 標(biāo)簽。如果匹配成功,這個(gè)程序執(zhí)行相關(guān)的語(yǔ)句。

語(yǔ)法

switch (expression) {
   case value_1:
      statements_1
      [break;]
   case value_2:
      statements_2
      [break;]
   ...
   default:
      statements_def
      [break;]
}

工作原理:首先設(shè)置表達(dá)式 expression(通常是一個(gè)變量)。隨后表達(dá)式的值會(huì)與結(jié)構(gòu)中的每個(gè) case 的值做比較。如果存在匹配,則與該 case 關(guān)聯(lián)的代碼塊會(huì)被執(zhí)行。請(qǐng)使用 break 來(lái)阻止代碼自動(dòng)地向下一個(gè) case 運(yùn)行。

參數(shù)

參數(shù) 說(shuō)明
expression 用于比較的表達(dá)式
value_(n) expression 比較的值
statement(n) 執(zhí)行語(yǔ)句

關(guān)鍵詞

  • case:表示一種情況,如果 expression 等于 value ,就執(zhí)行 statement
  • break:會(huì)使代碼跳出 switch 語(yǔ)句,如果沒(méi)有關(guān)鍵詞 break,代碼執(zhí)行就會(huì)繼續(xù)進(jìn)入下一個(gè) case
  • default:說(shuō)明了表達(dá)式的結(jié)果不等于任何一種情況時(shí)的操作(事實(shí)上,它相對(duì)于 else 從句)。

示例

var myCar = 'Porsche'
switch (myCar) {
  case 'Nissan': alert("My car is Nissan");
    break;
  case 'Honda': alert("My car is Honda");
    break;
  case 'Porsche': alert("My car is Porsche");
    break;
  default: alert("I have no car");
}

return 語(yǔ)句

函數(shù)中的 return 語(yǔ)句用來(lái)返回函數(shù)調(diào)用后的返回值

語(yǔ)法

return expression;

說(shuō)明

返回語(yǔ)句特點(diǎn)

  • return 語(yǔ)句只能出現(xiàn)在函數(shù)體內(nèi),如果不是會(huì)報(bào)語(yǔ)法錯(cuò)誤
return 1;	// SyntaxError: Illegal return statement
  • 由于 JavaScript 可以自動(dòng)插入分號(hào),因此在 return 關(guān)鍵字和它后面的表達(dá)式之間不能有換行。
var test = function fn(){
    return
    2;
};
console.log(test()); // undefined
  • 一個(gè)函數(shù)中可以有多個(gè) return 語(yǔ)句。
function diff(iNum1, iNum2) {
  if (iNum1 > iNum2) {
    return iNum1 - iNum2;
  } else {
    return iNum2 - iNum1;
  }
}

函數(shù)進(jìn)程

  • 如果沒(méi)有 return 語(yǔ)句,則函數(shù)調(diào)用僅僅依次執(zhí)行函數(shù)體內(nèi)的每一條語(yǔ)句直到函數(shù)結(jié)束,最后返回調(diào)用程序。這種情況下,調(diào)用表達(dá)式的結(jié)果是 undefined。
var test = function fn(){}
console.log(test()); // undefined
  • 當(dāng)執(zhí)行到 return 語(yǔ)句時(shí),函數(shù)終止執(zhí)行,并返回 expression 的值給調(diào)用程序
var test = function fn(){
    return 2;
};
console.log(test()); // 2
  • return 語(yǔ)句經(jīng)常作為函數(shù)內(nèi)的最后一條語(yǔ)句出現(xiàn),這是因?yàn)?return 語(yǔ)句可用來(lái)使函數(shù)提前返回。當(dāng) return 被執(zhí)行時(shí),函數(shù)立即返回而不再執(zhí)行余下的語(yǔ)句
//并沒(méi)有彈出1
var test = function fn(){
    return;
    alert(1);
};
console.log(test());//undefined
  • 并不是函數(shù)中 return 語(yǔ)句后的所有語(yǔ)句都不執(zhí)行,finally 語(yǔ)句是例外,return 語(yǔ)句不會(huì)阻止 finally 子句的執(zhí)行。
function testFinnally(){
    try{
        return 2;
    }catch(error){
        return 1;
    }finally{
        return 0;
    }
}
testFinnally(); // 0

返回值

  • 如果函數(shù)調(diào)用時(shí)在前面加上了 new 前綴,且返回值不是一個(gè)對(duì)象,則返回 this(該新對(duì)象)
function fn(){
    this.a = 2;
    return 1;
}
var test = new fn();
console.log(test);	// {a:2}
console.log(test.constructor);	// fn(){this.a = 2;return 1;}
  • 如果返回值是一個(gè)對(duì)象,則返回該對(duì)象。
function fn(){
    this.a = 2;
    return {a:1};
}
var test = new fn();
console.log(test);//{a:1}
console.log(test.constructor);//Object() { [native code] }
  • return 語(yǔ)句可以單獨(dú)使用而不必帶有表達(dá)式 expression,這樣的話(huà)也會(huì)向調(diào)用程序返回 undefined。
var test = function fn(){
    return;
};
console.log(test()); // undefined

總結(jié)

  • return 語(yǔ)句只能出現(xiàn)在函數(shù)體內(nèi)
  • return 關(guān)鍵詞和表達(dá)式之間不可換行
  • 一個(gè)函數(shù)中可以有多個(gè) return 語(yǔ)句
  • 當(dāng)執(zhí)行 return 語(yǔ)句,函數(shù)終止執(zhí)行,并返回表達(dá)式
  • return 語(yǔ)句不會(huì)阻止 finally 子句的執(zhí)行
  • 調(diào)用構(gòu)造函數(shù),且返回值不是一個(gè)對(duì)象,則返回該新對(duì)象
  • 如果返回值是一個(gè)對(duì)象,則返回該對(duì)象
  • return 語(yǔ)句可單獨(dú)使用而不必帶有表達(dá)式,返回 undefined

if 語(yǔ)句

條件語(yǔ)句用于基于不同的條件來(lái)執(zhí)行不同的動(dòng)作。

在 JavaScript 中,我們可使用以下條件語(yǔ)句:

  • if 語(yǔ)句 - 只有當(dāng)指定條件為 true 時(shí),使用該語(yǔ)句來(lái)執(zhí)行代碼
  • if…else 語(yǔ)句 - 當(dāng)條件為 true 時(shí)執(zhí)行代碼,當(dāng)條件為 false 時(shí)執(zhí)行其他代碼
  • if…else if…else 語(yǔ)句 - 使用該語(yǔ)句來(lái)選擇多個(gè)代碼塊之一來(lái)執(zhí)行
  • switch 語(yǔ)句 - 使用該語(yǔ)句來(lái)選擇多個(gè)代碼塊之一來(lái)執(zhí)行

當(dāng)一個(gè)邏輯條件為真,用 if 語(yǔ)句執(zhí)行一個(gè)語(yǔ)句。當(dāng)這個(gè)條件為假,使用可選擇的 else 從句來(lái)執(zhí)行這個(gè)語(yǔ)句。

單層條件判斷

if (condition) {
  statement_1;
}
[else {
  statement_2;
}] //推薦使用嚴(yán)格的語(yǔ)句塊模式,語(yǔ)句else可選

參數(shù) 說(shuō)明
condition 為任何返回結(jié)果(若非 boolean 類(lèi)型會(huì)被 ECMAScrpt 轉(zhuǎn)換)為 truefalse 的表達(dá)式。如果條件式為 true,statement1 會(huì)被執(zhí)行;否則 statement2 會(huì)被執(zhí)行
statement1(2) 為任意語(yǔ)句(代碼塊),甚至可以將另一個(gè) if 語(yǔ)句嵌套七種

多層條件判斷

if (condition_1) {
  statement_1;
} [else if (condition_2) {
  statement_2;
}]
...
[else if (condition_n_1) {
  statement_n_1;
}] [else {
  statement_n;
}]

要執(zhí)行多個(gè)語(yǔ)句,可以使用語(yǔ)句塊 ({ … }) 來(lái)分組這些語(yǔ)句。

示例

不建議在條件表達(dá)式中

不建議在條件表達(dá)式中使用賦值操作,因?yàn)樵诳焖俨殚喆a時(shí)容易看成等值比較。

請(qǐng)勿使用以下代碼:

if ((x = y)) {
  // do something
}

如果你需要在表達(dá)式中使用賦值,通常在賦值語(yǔ)句前后額外添加一對(duì)括號(hào)。

if ((x = y)) {
  // do something
}

假值等效值

下面這些值將被計(jì)算出 false

  • false
  • undefined
  • null
  • 0
  • NaN
  • ""

當(dāng)傳遞給條件語(yǔ)句時(shí),所有其他值,包括所有對(duì)象會(huì)被計(jì)算為真。

請(qǐng)不要混淆原始的布爾值 truefalseBoolean 對(duì)象的真和假。

var b = new Boolean(false);

if (b)
// this condition evaluates to true

if (b == true)
// this condition evaluates to false

for 語(yǔ)句

for 語(yǔ)句 也是一種前測(cè)試循環(huán)語(yǔ)句,但它具有在執(zhí)行循環(huán)之前初始化變量和定義循環(huán)后要執(zhí)行的代碼的能力。

語(yǔ)法

for (initialization; expression; post - loop - expression) {
  // statement
}

參數(shù):

  • initialization 初始化表達(dá)式:表達(dá)式通常會(huì)初始化一個(gè)或多個(gè)循環(huán)計(jì)數(shù)器(變量),但語(yǔ)法上是允許一個(gè)任意復(fù)雜度的表達(dá)式,通常為一條聲明賦值語(yǔ)句(只在循環(huán)開(kāi)始之前執(zhí)行一次)。
  • expression 循環(huán)條件判斷:執(zhí)行循環(huán)語(yǔ)句前的判斷語(yǔ)句(通常為比較表達(dá)式),若為 true 則執(zhí)行循環(huán)語(yǔ)句,否則則不執(zhí)行循環(huán)語(yǔ)句,并跳出循環(huán)語(yǔ)句。
  • post-loop-expression 計(jì)數(shù)器變量更新:循環(huán)執(zhí)行語(yǔ)句執(zhí)行后執(zhí)行的計(jì)數(shù)器變量更新表達(dá)式,更新循環(huán)計(jì)數(shù)器(變量),以進(jìn)入下一次循環(huán)條件判斷。
  • statement 循環(huán)執(zhí)行語(yǔ)句:當(dāng)循環(huán)條件滿(mǎn)足時(shí)所執(zhí)行的語(yǔ)句,執(zhí)行完畢后執(zhí)行計(jì)數(shù)器變量更新語(yǔ)句(利用 break 、continue 語(yǔ)句除外)。

最佳實(shí)踐

代碼示例

var count = 10;

for (let i = 0; i < count; i++) {
  console.log(i);
}

從尾部向前循環(huán)

位數(shù)的整倍循環(huán)

// 五位數(shù)的數(shù)字
const num = 99999;

for (let i = 1; i < num; i *= 10) {
  // 被除數(shù) num
  // 除數(shù)
  const divisor = i * 10;
  // 整除部分
  const divided = Math.floor(num / divisor);
  // 余數(shù)
  const remainder = num % divisor;

  console.log(i, divisor);
  //    i       divisor
  // 1. 1       10
  // 2. 10      100
  // 3. 100     1000
  // 4. 1000    10000
  // 5. 10000   100000
}

涉及多個(gè)變量的循環(huán)

for (let i = 0, j = 10; i < 10; i++, j--) {
  sum += i * j;
}

若在循環(huán)中一次迭代改變多個(gè)變量,則必須使用到逗號(hào)運(yùn)算符,它將初始化表達(dá)式和自增表達(dá)式合并入一個(gè)表達(dá)式中以用于 for 循環(huán)。

可忽略的表達(dá)式

function tail(o) {
  // 返回鏈表的最后一個(gè)節(jié)點(diǎn)對(duì)象
  for (; o.next; o = o.netx /* empty */);
  return; // 根據(jù)判斷 o.next 是不是真值來(lái)執(zhí)行遍歷
}

循環(huán)計(jì)數(shù)器(變量)中一般都是數(shù)字,也是最常用的,但不是必需的。for 循環(huán)中的三個(gè)表達(dá)式中的任何一個(gè)都可以忽略,但是兩個(gè)分號(hào)必不可少。如果 expression ,那么這將是一個(gè)死循環(huán),同樣,和 while(true) 類(lèi)似,死循環(huán)的另一種寫(xiě)法是 for(;;)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-842938.html

到了這里,關(guān)于【編程向?qū)А縅avaScript-基礎(chǔ)語(yǔ)法-語(yǔ)句和聲明二期講解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【山河送書(shū)第二期】:《零基礎(chǔ)學(xué)會(huì)Python編程(ChatGPT版》

    【山河送書(shū)第二期】:《零基礎(chǔ)學(xué)會(huì)Python編程(ChatGPT版》

    在過(guò)去的 5 年里,Python 已經(jīng) 3 次獲得 TIOBE 指數(shù)年度大獎(jiǎng),這得益于數(shù)據(jù)科學(xué)和人工智能領(lǐng)域的發(fā)展,使得 Python 變得異常流行,2017 年秋季開(kāi)始出現(xiàn)增長(zhǎng)的趨勢(shì),當(dāng)時(shí) Python 的份額僅為 3%,但去年年底已經(jīng)增長(zhǎng)到了 17%。然而,今年 Python 的份額回落至 13%,未能保持歷史最高水

    2024年02月16日
    瀏覽(86)
  • HarmonyOS(二)—— 初識(shí)ArkTS開(kāi)發(fā)語(yǔ)言(下)之ArkTS聲明式語(yǔ)法和組件化基礎(chǔ)

    HarmonyOS(二)—— 初識(shí)ArkTS開(kāi)發(fā)語(yǔ)言(下)之ArkTS聲明式語(yǔ)法和組件化基礎(chǔ)

    通過(guò)前面ArkTS開(kāi)發(fā)語(yǔ)言(上)之TypeScript入門(mén)以及ArkTS開(kāi)發(fā)語(yǔ)言(中)之ArkTS的由來(lái)和演進(jìn)倆文我們知道了ArkTS的由來(lái)以及演進(jìn),知道了ArkTS具備了聲明式語(yǔ)法和組件化特性,今天,搭建一個(gè)可刷新的排行榜頁(yè)面。在排行榜頁(yè)面中,使用循環(huán)渲染控制語(yǔ)法來(lái)實(shí)現(xiàn)列表數(shù)據(jù)渲染,使

    2024年02月04日
    瀏覽(22)
  • MATLAB中CVX工具箱解決凸優(yōu)化問(wèn)題的基本知識(shí)——語(yǔ)法、變量聲明、目標(biāo)函數(shù)、約束條件、cvx編程錯(cuò)誤及解決方法

    MATLAB中CVX工具箱解決凸優(yōu)化問(wèn)題的基本知識(shí)——語(yǔ)法、變量聲明、目標(biāo)函數(shù)、約束條件、cvx編程錯(cuò)誤及解決方法

    提示:文章寫(xiě)完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 本文是在最近學(xué)習(xí)MATLAB CVX工具箱解決凸優(yōu)化問(wèn)題時(shí)學(xué)到的一些知識(shí)點(diǎn),分享出來(lái)供大家參考。 進(jìn)行CVX編程時(shí),會(huì)遇到各種各樣意想不到又難以解決的報(bào)錯(cuò)問(wèn)題,如果編程過(guò)程中遇到了很多cvx bug和錯(cuò)誤,

    2024年02月08日
    瀏覽(24)
  • 基礎(chǔ)SQL語(yǔ)法語(yǔ)句大全(一篇學(xué)會(huì)所有SQL語(yǔ)句)

    基礎(chǔ)SQL語(yǔ)法語(yǔ)句大全(一篇學(xué)會(huì)所有SQL語(yǔ)句)

    ? ?如:select distinct name from student; ?如:select name,salary from employee where deptno = 3; ?如:select * from employees where deptno = 3 and salary-5000;(兩個(gè)條件同時(shí)滿(mǎn)足) select * from employees where (deptno =3 or depton =1) and salary 5000; ?如:select * from dept where loc like \\\'一樓%\\\';(表示查找loc字段中以一樓開(kāi)

    2023年04月17日
    瀏覽(28)
  • 【python基礎(chǔ)】if語(yǔ)句-語(yǔ)法格式

    【python基礎(chǔ)】if語(yǔ)句-語(yǔ)法格式

    視頻講解 https://www.bilibili.com/video/BV1Hw411S72w/ 簡(jiǎn)單理解if語(yǔ)句之后,我們的if語(yǔ)句語(yǔ)法格式有多種,選擇使用哪種取決于要測(cè)試的條件數(shù) 最簡(jiǎn)單的if語(yǔ)句只有一個(gè)條件測(cè)試和一個(gè)代碼塊 其語(yǔ)法格式: 假設(shè)想要知道某人的年齡是否已成年,編寫(xiě)程序如下所示: 如果需要在條件測(cè)

    2024年02月08日
    瀏覽(25)
  • Verilog基礎(chǔ)語(yǔ)法(13)之case語(yǔ)句

    Verilog基礎(chǔ)語(yǔ)法(13)之case語(yǔ)句

    case語(yǔ)句檢查給定的表達(dá)式是否與列表中的其他表達(dá)式之一相匹配,并據(jù)此進(jìn)行分支。它通常用于實(shí)現(xiàn)一個(gè)多路復(fù)用器。 如果要檢查的條件很多,if-else結(jié)構(gòu)可能不合適,因?yàn)樗鼤?huì)綜合成一個(gè)優(yōu)先編碼器而不是多路復(fù)用器。 一個(gè)Verilog case語(yǔ)句以case開(kāi)始,以endcase結(jié)

    2024年02月14日
    瀏覽(15)
  • JavaScript基礎(chǔ)——1.js基礎(chǔ)語(yǔ)法

    js全稱(chēng)JavaScript,是一種輕量級(jí)的面向?qū)ο蟮?編程語(yǔ)言 ,既能用在瀏覽器中控制頁(yè)面交互,也能用在服務(wù)器端作為網(wǎng)站后臺(tái)(借助 Node.js),因此 JavaScript 是一種全棧式的編程語(yǔ)言。 JavaScript 與 HTML 和 CSS 共同構(gòu)成了我們所看到的網(wǎng)頁(yè),其中: HTML 用來(lái)定義網(wǎng)頁(yè)的內(nèi)容,例如標(biāo)

    2024年04月28日
    瀏覽(23)
  • 1 JavaScript的基礎(chǔ)語(yǔ)法

    JS概念 javaScript是用于實(shí)現(xiàn) 用戶(hù)交互 、 動(dòng)態(tài)控制文檔的外觀(guān)和內(nèi)容 ,動(dòng)態(tài)控制瀏覽器操作、創(chuàng)建cookies等網(wǎng)頁(yè)行為的跨平臺(tái)、跨瀏覽器的由瀏覽器解釋執(zhí)行的客戶(hù)端腳本語(yǔ)言; 特點(diǎn) 是基于對(duì)象的弱類(lèi)型語(yǔ)言 弱類(lèi)型語(yǔ)言:是一種弱類(lèi)型定義的語(yǔ)言,某一個(gè)變量被定義類(lèi)型,該變

    2024年02月06日
    瀏覽(28)
  • JavaScript的基礎(chǔ)語(yǔ)法

    JavaScript的基礎(chǔ)語(yǔ)法

    目錄 一、初識(shí)JavaScript(簡(jiǎn)稱(chēng)JS) 1.JavaScript 運(yùn)行過(guò)程 2.JavaScript 的組成 二、JavaScript的規(guī)范與調(diào)試 1.JavaScript 的書(shū)寫(xiě)形式 1.1?行內(nèi)式 1.2??內(nèi)嵌式(建議寫(xiě)在之前) 1.3 外部式(建議寫(xiě)在之前) 1.4 總結(jié)? 2.調(diào)試過(guò)程(建議使用edge、google瀏覽器) 3.注釋 4.輸入輸出 4.1 輸入 prompt

    2024年02月03日
    瀏覽(22)
  • JavaScript的基礎(chǔ)語(yǔ)法學(xué)習(xí)

    JavaScript的基礎(chǔ)語(yǔ)法學(xué)習(xí)

    let 聲明的變量只在 let 命令所在的代碼塊內(nèi)有效。 const 聲明一個(gè)只讀的常量,一旦聲明,常量的值就不能改變。 在 ES6 之前,JavaScript 只有兩種作用域: 全局變量 與 函數(shù)內(nèi)的局部變量。 全局變量 在函數(shù)外聲明的變量作用域是全局的: 全局變量在 JavaScript 程序的任何地方都

    2023年04月21日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包