目次
1: オペレーター
演算子は、演算子とも呼ばれ、代入、比較、算術演算などの関数を実装するために使用されるシンボルです。一般的な演算子: 算術演算子、増分演算子、減分演算子、比較演算子、論理演算子、代入演算記号。
1 : 算術演算子
概念: 2 つの変数または値に対して算術演算を実行するために算術演算で使用されるシンボル。
加算 (+)、減算 (-)、乗算 (*)、除算 (/)、剰余 (%)
剰余 (%): 除算の剰余を返します。
注: 浮動小数点数の精度
浮動小数点値の最大精度は小数点以下 17 桁ですが、算術計算を実行する場合は整数よりもはるかに精度が低くなります。
var result = 0.1 + 0.2; // 結果は 0.3 ではなく、0.30000000000000004
console.log(0.07 * 100); // 結果は 7 ではなく、7.000000000000001 となります。
したがって、2 つの浮動小数点数が等しいかどうかを直接テストしないでください。
2 : インクリメント演算子とデクリメント演算子
数値変数に 1 を繰り返し加算または減算する必要がある場合は、インクリメント (++) 演算子とデクリメント (--) 演算子を使用して実行できます。
例:
var num=1;num++;//2
var num=1;++num;//2
変数の前に配置される場合は前置インクリメント (デクリメント) 演算子と呼び、変数の後に配置される場合は後置インクリメント (デクリメント) 演算子と呼ぶことができます。
事前インクリメント:
++num は事前にインクリメントされます。つまり、num = num + 1 (++num と省略されます) と同様に、1 ずつ自己インクリメントされ、最初に自己インクリメントされてから値を返します。
変数番号 = 10;
アラート(++num + 10); // 21
ポストインクリメント:
num++ は 1 ずつ自己インクリメントします。num = num + 1 と同様で、num++ と省略されます。最初に元の値を返し、次に自己インクリメントします。
変数番号 = 10;
アラート(10 + num++); // 20
3 : 比較演算子
< 符号 1<2 より小さい true
> 符号 1>2 より大きい false
>= 2 以上 >=2 true
<= 3 以下<=2 false
== は 2==2 に等しい
!= 不等号 3!=2 true
=== 完全な等号 値とデータ型は等しい必要があります。 例: "3"===3 false、"3"==3 true
例:
console.log(3 >= 5); //間違い
console.log(2 <= 4); //真実
console.log(3 == 5);//false
console.log('中国語' == '中国語'); //false
console.log(10 == 10); //真実
console.log(10 == '10');//true
console.log(10 != 10); //間違い
console.log(10 === 10);//true
console.log(10 === '10'); //間違い
4 : 論理演算子
論理演算子はブール値に対する演算を実行するために使用される演算子であり、その戻り値もブール値です。
-論理積&&
両側が true の場合は true を返し、そうでない場合は false を返します。
console.log(true && false) //false;
Console.log(3>2 && 1>2); //間違い
-論理和||
片側が true の場合は true を返し、両方の側が false の場合は false を返します。
console.log(true || false) //true;
Console.log(3>2 || 1>2); //真実
-論理的 NOT !
論理的否定 (!) は否定とも呼ばれ、ブール値の反対の値を取るために使用されます (true の反対の値は false など)。
var isOk = !true;
console.log(isOk); // 間違い
-短絡動作(ロジック割り込み)
短絡演算の原理: 複数の式 (値) がある場合、左側の式の値によって結果が決まる場合、右側の式の値は計算されません。
console.log( 123 && 456 ); // 456
console.log( 0 && 456 ); // 0
console.log( 123 && 456&& 789 ); // 789
console.log( 123 || 456 ); // 123
console.log( 0 || 456 ); // 456
console.log( 123 || 456 || 789 ); // 123
5 : 代入演算子
= 直接割り当て var realname="Xiao Ming";
+=、-=、*=、/=、%= は代入の前に最初に計算されます。
例:
var 年齢 = 10; 年齢+=5;//15
var 年齢 = 10; 年齢-=5;//5
var 年齢 = 10; 年齢*=5;//50
var 年齢 = 10; 年齢/=5;//2
var 年齢 = 10; 年齢%=5;//0
6 : 演算子の優先順位
1: 括弧 ()
2: 単項演算子 ++、--、!
3: 算術演算子 *、/、% が最初で、次に +、-
4: 関係演算子 >、>=、<、<=
5: 等価演算子 ==、!=、===、!==
6: 論理演算子が最初に &&、次に ||
7: 代入演算子 =
8: カンマ演算子、
7: プロセス制御
定義:実行するコードを一定の構造順序に従って制御することであり、処理構造には主にシーケンシャル構造、分岐構造、ループ構造の3種類があります。
シーケンシャル機構
最も基本的なフロー制御であり、特定の文法構造はなく、プログラムはコードの順序で実行されます。
分岐構造
コードを上から下に実行するプロセスでは、異なる条件に従って異なるパス コードが実行され、異なる結果が得られます。JSの分岐構造はif文とswitch文の2種類に分かれます。
- ifステートメント
If(条件表达式){
// 条件成立执行的代码
}
If(条件表达式){
// 如果条件成立执行代码
}else{
// 条件不成立 执行此代码
}
// 适合于检查多重条件。
if (条件表达式1) {
执行代码1;
} else if (条件表达式2) {
执行代码2;
} else if (条件表达式3) {
执行代码3;
} else {
// 上述条件都不成立执行此处代码
}
例:
If( ''chinese' != 'chinese' ){
//执行代码
}
var sex = prompt('请输入您的性别:');
if (sex==”男”) {
alert('请上男卫生间');
}else if(sex==”女” ){
alert('请上女卫生间');
}else{
alert(“?”);
}
- switchステートメント
switch(表达式) {
case n:
代码块
break;
case n:
代码块
break;
default:
默认代码块
}
举例:
var sex=1;
switch (sex){
case 1:
console.log("您喜欢的是猫");
break;
case "狗":
console.log("您喜欢的是狗");
break;
default:
console.log("其他动物");
}
要約:
- 式を開発し、その中に変数として記述することがよくあります
- num の値と case の値は一致する必要があります
- ブレーク 現在のケースにブレークがない場合、次のケースの実行を継続します。
8 : 3項式
構文構造: 式 1 ? 式 2 : 式 3;
举例:
Var num=11;
var res = num >10 ? '是的' : '不是的';
Console.log(res); //不是的
演習 1:
ユーザーは数値を入力して、それが奇数か偶数かを判断します
var str = prompt('请输入数值');
if (isNaN(str)) {
alert('请输入数字')
} else {
if (parseInt(str) % 2 == 0) {
alert('您输入的是偶数');
} else {
alert('您输入的是奇数');
}
}
演習 2:
1 ~ 99 の数字を入力し、数字の前に 0 を追加すると 3 桁になります(001 など)
var str = prompt('请输入数值');
if (isNaN(str) || str.length >= 3) {
console.log('请输入两位数字');
} else {
if (str.length == 1) {
str = "00" + str;
} else {
str = "0" + str;
}
console.log(str);
}
演習 3:
試験の点数で判断し、90点以上が優秀、80点以上90点以下が合格、60点以上80点以下が合格、60点未満は「危険です、頑張ってください」と促されます。
var str = prompt('请输入数值');
if (parseInt(str) > 90) {
alert('优秀');
} else if (parseInt(str) >= 80 || str == 90) {
alert('合格');
} else if (parseInt(str) >= 60) {
alert('及格');
} else if (parseInt(str) < 60) {
alert('你很危险,你该努力了');
}
演習 4:
うるう年の定義: 4 年ごとのうるう; 100 年ではなく 400 年
var year = prompt('请输入年份');
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {
alert('是闰年');
} else {
alert('不是闰年');
演習 5:
果物の値段はレジ屋が判断します。1 はリンゴ (1 斤あたり 10 元)、2 は梨 (1 斤あたり 20 元)、3 はブドウ (1 斤あたり 5 元) を表します。
var num = Number(prompt('请输入代码'));
switch (num) {
case 1:
console.log('苹果10元一斤');
break;
case 2:
console.log('梨子20元一斤');
break;
case 3:
console.log('葡萄5元一斤');
break;
default:
console.log('输入错误');
}
演習 6:
運転免許試験の受験年齢は18歳以上70歳以下であり、条件を満たしていない場合は条件を満たしていない旨のメッセージが表示されます。
var age = prompt('请输入年龄');
if(age >= 18 && age <= 70 ){
alert('年龄可以报考驾照');
}else{
alert('条件不符合');
}
演習 7:
パークチケット料金、ブラウザ受付:シニア、大人、子供、シニア無料チケット
、大人の性別「男性」100、「女性」80、子供は同性大人の半額
var sex = prompt("请输入:老人,成人,小孩");
var gender = prompt('请输入性别');
var amountMan = 100;
var amountWoman = 80;
if (sex == '老人') {
alert('免票');
}
if (sex == '成人') {
if (gender == '男') {
alert(sex + gender + "的票价:" + amountMan);
} else {
alert(sex + gender + "的票价:" + amountWoman);
}
}
if (sex == '小孩') {
if (gender == '男') {
alert(sex + gender + "的票价:" + amountMan / 2);
} else {
alert(sex + gender + "的票价:" + amountWoman / 2);
}
}
演習 8:
会員レベル: 1 はゴールド会員、2 はシルバー会員、3 はブロンズ会員、4 は通常会員を表し、4 種類の会員が
入店して xxx 元を使用します。このうち、一般会員は割引なし、会員は 10% 割引を受けられます。
1000元以上お買い上げの場合、ゴールドメダル会員は40%オフ、シルバー会員は30%オフ、ブロンズ会員は20%オフのセールを楽しめます。
ブラウザは会員レベルと消費額を受け取り、割引額を出力します
var num = Number(prompt('请输入代码'));
var money1 = 0;
var money = Number(prompt('请输入金额'));
switch (num) {
case 1:
if (money >= 1000) {
money1 = money * 0.6
} else {
money1 = money
}
console.log('金牌会员:' + money1);
break;
case 2:
if (money >= 1000) {
money1 = money * 0.7
} else {
money1 = money
}
console.log('银牌会员' + money1);
break;
case 3:
if (money >= 1000) {
money1 = money * 0.8
} else {
money1 = money
}
console.log('铜牌会员' + money1);
break;
case 4:
if (money >= 1000) {
money1 = money * 0.9
} else {
money1 = money
}
console.log('普通会员' + money1);
break;
default:
console.log('输入错误' + money1);
}