Javascript には 3 つのステートメント構造があります: 1. シーケンシャル構造; トップダウンで行ごとに実行。 2. 分岐構造を選択します。複数のパスがあり、さまざまな条件に応じてそのうちの 1 つだけを実行するか、複数のパスを選択的に実行します。 3. ループ構造; 特定のコードを繰り返し実行します。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
JavaScript 言語の 3 つの主要な構造
-
シーケンシャル構造
最初にトップダウンで 1 行ずつ実行先着順、同じステートメント、次のステートメントは前のステートメントを上書きします
-
分岐構造の選択
さまざまな条件に応じて複数のパス、1 つだけそのうちの 1 つが実行されるか、選択的に実行されます。 複数の
-
ループ構造
特定のコードを繰り返し実行して、特定の繰り返し操作を置き換え、コードの冗長性を削減し、改善します。効率
分岐構造の選択
1. 単一分岐構造
2 つのパスのうち 1 つを選択します (実行するかどうか)。 do it、Yes or no、実行するか実行しない;
# (1) if 判定文 #//语法结构:
if(){}
if //语句名
() //是否执行的条件,true 或 false
{} //执行的内容
//例:
if(true){
console.log("hello");//"hello"---if括号中是true则输出hello,若为false则不输出
}
2. 二重分岐構造
オプションは 2 つあり、どちらも 1 つを実行する必要があります (1) if-else 判定ステートメント //当条件判断为true时,执行花括号内的语句,如果条件为假false,跳过花括号内的语句执行else里的内容
if(条件){
执行语句1,条件为真时执行
}else{
执行语句2,条件为假时执行
}
(2) 特殊な状況if 条件の
1) 通常の状況通常、if の括弧内に判定文を入れて真か偽かを判定します。 if() 括弧は通常ロジックと呼ばれます。ポイント、判断ポイント 括弧内の内容が true の場合は true、false の場合は false。true または false は、true と false を表すブール値 (boolean) であり、論理演算子#2) 特別な状況# を使用して取得する必要があります。
最初に例を見てみましょう
if(1){ //括号内填写数字"1"会发生什么 console.log("会输出么?"); //会输出吗?---会在控制台输出内容 }
数値 1 は数値であり、ブール値ではなく、ましてや true ではありません。中括弧内のステートメントが実行されるのはなぜですか?
特定の状況では、コンピューターは暗黙的な変換を実行します。これは、強制的な型変換とは異なります。何もする必要はなく、自動的にデータ型が変換されます。演算を実行すると、if (括弧) 内のステートメントに対して暗黙的な型変換が発生します。
//if隐式转换例题 var a = "1",b = 2; console.log(a + b);//12---+号进行字符串拼接,拼成12,而不是进行数值运算等于3
" "記号には 2 つの意味があります:
" "記号は両側にあります数値: これは数学における " " 記号演算子です。2 つの数値を加算し、数値演算
" " " を実行します。記号の両側に 1 つ以上の文字が表示されます: これは、文字列の結合
#と文字列の結合が優先されるため、数値の左右に文字列があることが検出された場合、文字列ではない反対側のデータが削除されます。 string は自動的に String に変換され、文字列の結合操作が実行されます (文字列の結合とは、「 」記号の両側の内容を変更せずに完全に結合することです)
注: 記号に加えて、 " -*/%" 記号は数学的な意味のみを持ちます。そのため、"-*/%" を実行すると、演算子の両側のデータ型は、演算を実行する前にデフォルトで暗黙的に数値型に変換されます。
では、加算演算時に暗黙的に「 」記号による文字変換を行いたくない場合はどうすればよいでしょうか。
メソッド:
var a = "1",b = 2; console.log(a + b);//12---默认进行字符串拼接输出字符串"12" console.log((a-0) + b );//3---先通-0操作将字符转换为数字,再进行相加,输出数值33) if
if() での暗黙的な型変換にはブール値のみが必要です。その後、if で判定により、括弧内のすべてのデータ型は暗黙的にブール型に変換されます。任意の型は最終的にブール型に変換されます。
# 数値: 0 以外は true、0 は false
- # アウトアウトアウトアウトアウトアウトスルーアウトスルーアウトアウトスルーアウトアウトスルーアウトアウトスルーアウトアウトアウトスルーアウトアウトスルーアウトアウトスルーアウトアウトアウトスルーアウトアウトスルーアウトスルーオフ‐‐ ‐ ‐ 、false
- 配列: いつでも真、配列はオブジェクトの型でもあります
- 系列: いつでも真、関数は特別なオブジェクトでもあります
- NAN: 偽
- ## 未定義: 偽
- NULL: 偽
- isNaN():
NaN かどうかを判断すると、それが数値であるかどうかを間接的に判断できます。true が返された場合、それは NaN であり、数値ではありません。 false を返します、それは数値です
3. マルチブランチ構造
少なくとも 2 つ以上があり、1 つ以上のステートメントは次のとおりです。条件に従って実行されます
(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<h3 id="strong-for循环-strong"><strong>3.for循环</strong></h3><pre class='brush:php;toolbar:false;'>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高级教程】
以上がJavaScriptにはどのような文構造があるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ChooseuseState()forsimple,independentstatevariables;useuseReducer()forcomplexstatelogicorwhenstatedependsonpreviousstate.1)useState()isidealforsimpleupdatesliketogglingabooleanorupdatingacounter.2)useReducer()isbetterformanagingmultiplesub-valuesorac

UseStateは、州の管理を簡素化し、コードをより明確にし、読みやすくし、Reactの宣言的な性質と一致するため、クラスコンポーネントやその他の州管理ソリューションよりも優れています。 1)UseStateを使用すると、状態変数を関数コンポーネントに直接宣言することができます。2)フックメカニズムの再レンダリング中に状態を覚えています。

useUsestate()forlocalcomponentStatemanagement; compleartinative forglogic、orperformanceissues.1)useidealforsimple、localstate.2)useglobalStateSolutionSolutionSuxorContextForSharedState.3)OptForreDuxtormobxobxobxobforexSt

再利用することは、codecodemaintainabilityを抑制することを再生します

virtualdomisalightweightin-memorycopyofthedomused byRealctuttooptimizeuiupdates.itboostsperformanceByminimizingddomizeddomizedirectdomizedirectdomizedirectdomizedirculation fupdatingthatingdatingdatualdomfirst、その後、applyingonlynlynalychangestotualdom。

HTMLとReactは、JSXを介してシームレスに統合して、効率的なユーザーインターフェイスを構築できます。 1)JSXを使用してHTML要素を埋め込み、2)仮想DOMを使用してレンダリングパフォーマンスを最適化し、3)コンポーネントを通じてHTML構造を管理およびレンダリングします。この統合方法は直感的であるだけでなく、アプリケーションのパフォーマンスを向上させます。

React Reactは、状態および小道具を介してデータを効率的にレンダリングし、合成イベントシステムを介してユーザーイベントを処理します。 1)Counterの例など、UseStateを使用して状態を管理します。 2)イベント処理は、ボタンクリックなどのJSXに関数を追加することにより実装されます。 3)トドリストコンポーネントなどのリストをレンダリングするには、重要な属性が必要です。 4)フォーム処理の場合、FormコンポーネントなどのuseStateおよびe.preventdefault()。

Reactは、HTTP要求を介してサーバーと対話し、データを取得、送信、更新、削除します。 1)ユーザー操作はイベントをトリガーします。2)HTTP要求を開始する、3)サーバーの応答をプロセス、4)コンポーネントのステータスと再レンダリングを更新します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









