>웹 프론트엔드 >프런트엔드 Q&A >자바스크립트에는 어떤 문장 구조가 있나요?

자바스크립트에는 어떤 문장 구조가 있나요?

青灯夜游
青灯夜游원래의
2021-11-04 16:06:442538검색

Javascript에는 세 가지 명령문 구조가 있습니다. 1. 하향식, 한 줄씩 실행되는 순차적 구조. 2. 분기 구조를 선택하세요. 여러 경로를 선택하세요. 그 중 하나만 실행하거나 다양한 조건에 따라 여러 경로를 선택적으로 실행하세요. 3. 루프 구조, 특정 코드를 반복적으로 실행합니다.

자바스크립트에는 어떤 문장 구조가 있나요?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

JavaScript 언어의 세 가지 주요 구조

  • 순차 구조

    하향식, 한 줄씩 실행, 선착순, 동일한 문, 후자가 이전 문을 덮음

  • 선택 분기 구조

    다중 항목 경로는 조건에 따라 하나만 실행하거나 여러 항목을 선택적으로 실행합니다

  • 루프 구조

    특정 코드를 반복적으로 실행하여 특정 반복 작업을 대체하고 코드 중복을 줄이고 효율성을 높입니다.

분기 구조 선택

1. 단일 분기 구조

두 가지 경로 중 하나를 선택하세요. 수행하거나 수행하지 않거나 실행하거나 실행하지 않습니다.

(1) if; 판단문

//语法结构:
if(){}
    if	//语句名
    ()	//是否执行的条件,true 或 false
    {}	//执行的内容
//例:
if(true){
   console.log("hello");//"hello"---if括号中是true则输出hello,若为false则不输出
}

2. 이중 분기 구조

두 가지 옵션이 있으며 둘 다 하나를 실행해야 합니다.

(1) if-else 판단문

//当条件判断为true时,执行花括号内的语句,如果条件为假false,跳过花括号内的语句执行else里的内容
if(条件){        
    执行语句1,条件为真时执行   
}else{        
	执行语句2,条件为假时执行    
}

(2) if의 특수 사례 조건

1) 기존 상황

보통 if의 괄호 안에는 판단문을 채워서 참인지 거짓인지를 판단합니다. if() 괄호 안의 내용을 보통 논리점, 판단점이라고 합니다. 괄호 안의 내용이 true이면 true이고, false이면 false입니다. true 또는 false는 논리 연산자를 통해 구해야 합니다. 2) 특수 사례

먼저 한 가지만 살펴보겠습니다. 예
if(1){ //括号内填写数字"1"会发生什么
    console.log("会输出么?"); //会输出吗?---会在控制台输出内容
}
숫자 1은 true는 물론 부울 값이 아닌 숫자 값입니다. 중괄호 안의 명령문은 왜 실행되나요?

일부 특정 경우에는 컴퓨터가 일부 암시적 변환을 수행합니다. 이는 강제 유형 변환과 다릅니다.

작업에서 if(괄호) 암시적 유형을 자동으로 변환합니다.

//if隐式转换例题
var a = "1",b = 2;    
console.log(a + b);//12---+号进行字符串拼接,拼成12,而不是进行数值运算等于3

의 명령문에 대해 변환이 발생합니다. "+" 기호에는 두 가지 의미가 있습니다.

"+" 기호 양쪽에 숫자가 있습니다. 이는 수학에서 두 개의 더하기를 결합하는 "+" 기호 연산자입니다. 숫자 및 숫자 연산 수행

  • "+" 기호 양쪽에 하나 이상의 문자가 나타납니다. 이는 문자열의 접합

  • 이며 문자열 접합에 우선순위가 부여되므로 왼쪽과 오른쪽만 나타납니다. + 기호가 감지되면 문자열이 존재하는 경우 문자열이 아닌 반대편의 데이터가 자동으로 문자열로 변환된 후 문자열 접합 작업이 수행됩니다. "+" 기호는 아무런 수정 없이 완전히 함께)

  • 참고: 두 가지 의미를 갖는 + 기호 외에도 "-*/%" 기호는 수학적인 의미만 있으므로 "-*/%"가 사용하면 연산자 양쪽의 데이터 유형이 기본적으로 숫자 유형으로 암시적으로 변환된 다음 연산을 수행합니다.

그래서 덧셈 연산을 수행하고 싶지만 암시적으로 문자로 변환되는 것을 원하지 않는 경우 "+" 기호.

메서드:

var a = "1",b = 2;    
console.log(a + b);//12---默认进行字符串拼接输出字符串"12"
console.log((a-0) + b );//3---先通-0操作将字符转换为数字,再进行相加,输出数值3

3) if에서 암시적 유형 변환

If()에는 부울 값만 필요하며, if 판단에서 괄호 안의 모든 데이터 유형은 암시적으로 부울 유형으로 변환되며, 모든 유형은 암시적으로 부울 유형으로 변환됩니다. 결국 부울 유형으로 변환됩니다

            숫자: 0이 아닌 것은 참이고, 0은 거짓입니다.

                                                              '' NaN: 거짓입니다
  • 정의되지 않음: For False
  • Null: For false
  • isnan():
  • NAN이 숫자인지 간접적으로 결정할 수 있는지 여부를 결정합니다.

  • 3 다중 분기 구조
  • more, 하나 이상의 명령문이 조건에 따라 실행됩니다
  • (1)多个if(){}else{}嵌套使用

    if(true){
        console.log("hello");
    }else{
        if(true){
            console.log("hello");
        }else{
            console.log("world");
        }
    }
    或者
    if(true){
        console.log("hello1");
    }else if(true){
        console.log("hello2");
    }else if(true){
        console.log("hello3");
    }else if(true){
        console.log("hello4");
    }

    (2)使用switch(){}语句

    系统提供的语句

    switch(){}

    • switch语句名

    • ()要判断的值

    • {}执行语句,所有的分支路径都放在一个花括号内

    • case匹配()内的值则执行,不匹配则往下找,找到执行,都没找到输出default的内容

    案例:输入数字,判断后输出星期几

    switch(n){
        case 1:console.log("星期一");break;
        case 2:console.log("星期二");break;
        case 3:console.log("星期三");break;
        case 4:console.log("星期四");break;
        case 5:console.log("星期五");break;
        case 6:console.log("星期六");break;
        case 7:console.log("星期七");break;
        default:console.log("请输入1-7之间的数字");
    }

    (3)switch的注意事项

    case的穿透特性:

            在一个switch中,只会进行一次case判断,如果判断成功,后面的case则不会判断全部执行
    阻止case穿透
    使用关键字break;可以跳出当前循环,后面的都不执行

    switch和if-else的区别

    •                 switch只能判断具体的值,不能判断范围,不会进行隐式转换

    •                 if else可以判断范围

    循环结构

    1.while循环

    while(){}
        while	//语句名
        ()		//执行条件、判断调价
        {}		//执行语句循环体
    //例:
    var i = 0;
    while(i<10){//当括号内的条件为真时,会一直执行
        console.log(i);//输出0-9,十个数字
        i++;//改变计数器
    }
    //表示重复执行10次
    //注意:为避免死循环,一定要在循环体内 改变 条件中使用变量的值-改变计数器。
    //通常while被用在不确定执行次数的循环中,循环体内设置if判断,满足条件使用break结束循环,否则一直循环

    2.do-while循环

do{}while(){}
    do		语句名
    {}		do的执行语句
    while	语句名2
    ()		执行条件
    {}		while的执行语句
    
do{
    console.log("do的执行语句");
    i++;//改变计数器
}while(i<10){
    console.log("while的执行语句");
}
//条件为true时,会执行do后面的语句
//条件为false时,会执行一次while后面的语句
//注意:do-while的改变计数器要鞋子啊do语句中,否则会造成死循环
do-while和while的区别
    do-while任何情况下都比while多执行一次(do-while无论真假都会执行一次while里的语句)
    do-while相对于while结构紧密些

3.for循环

for(){}
    for		语句名
    ()		条件组
    {}		循环体
for(var i = 0; i < 10; i++){
    console.log(i);//打印0-9。共十个数字
}

for循环括号内的内容
var i=0;	//定义循环开始时计数器的初始值
i<10;		//设置停止循环的条件,满足条件执行循环,不满足条件结束循环
i++		//计数器加一(这条语句是在循环体内容结束后才执行)
//注意:上面的三个内容必须用分号“;”隔开,否则报错

for循环是最长使用的循环,还可进行for循环嵌套
for(var i=0;i<10;i++){
    for(var j=0;j<10;j++){
        console.log(i+j);
    } 
}

4.死循环

无法靠自身控制结束的循环,称为死循环
不知道要循环几次的问题,利用死循环的原理,每次判断一个条件,直到满足条件,利用break跳出循环
通常使用while来进行死循环

5.continue关键字break关键字

continue和break都是用来控制循环结构的,主要是用来停止循环。   
控制关键字:控制循环的执行或停止
    break:结束循环语句,直接跳出当前循环语句,后面所有的下一次循环都不执行。
    continue:表示跳过当前所在的本次循环(continue下面的语句不执行跳过),下一次循环还会正常执行

【推荐学习:javascript高级教程

위 내용은 자바스크립트에는 어떤 문장 구조가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.