前端筆記知識點整合之JavaScript(二)

来源:https://www.cnblogs.com/rope/archive/2019/03/21/10567490.html
-Advertisement-
Play Games

運算符 數學運算符的正統,number和number的數學運算,結果是number。出於面試的考慮,有一些奇奇怪怪的數學運算: 數學運算中:只有純字元串、布爾值、null能夠進行隱式轉換。 不純的字元串和undefined是不能進行隱式轉換,結構都是NaN: 加法比較特殊,因為“+”號同時是加法和拼 ...


運算符

數學運算符的正統,numbernumber的數學運算,結果是number。出於面試的考慮,有一些奇奇怪怪的數學運算:

數學運算中:只有純字元串、布爾值、null能夠進行隱式轉換。

//隱式轉換:就是沒有寫parseInt()、parseFloat()也能自動幫你轉換類型
console.log(2 + "4");    //24
console.log(26 - "2");   //24
console.log(3 * "8");       //24
console.log("3" * "8");  //24
console.log("48" / "2"); //24
console.log("24" % 25);    //24
console.log(3 * null);  // 0 隱式轉換時null被轉換為0
console.log(3 * false); // 0 隱式轉換時false被轉換為0
console.log(3 * true);  // 3 隱式轉換時true被轉換為1
console.log(3 + true);  // 4 隱式轉換時true被轉換為1
console.log(3 + false); // 3 隱式轉換時false被轉換為0
console.log(3 + null);  // 3 隱式轉換時null被轉換為0
console.log(3 - false); // 3 隱式轉換時false被轉換為0
console.log(3 - null);  // 3 隱式轉換時null被轉換為0
console.log(3 - "");    // 3 隱式轉換時""被轉換為0

不純的字元串和undefined是不能進行隱式轉換,結構都是NaN

console.log(3 * "8天");     //NaN 數學中,不純的字元串沒法隱式轉換
console.log(3 * undefined); //NaN 數學中,undefined沒法隱式轉換
console.log(3 + undefined); //NaN 數學中,undefined沒法隱式轉換
console.log(3 - undefined); //NaN 數學中,undefined沒法隱式轉換
console.log(3 / undefined); //NaN 數學中,undefined沒法隱式轉換

加法比較特殊,因為+”號同時是加法和拼接字元串的符號,所以加法在面對字元串的時候沒有隱式轉換。

 console.log(2 + "4");    //24

總結:

無論哪種運算,只要出現了undefined參與運算,結果都是NaN

然後字元串"8"falsetruenull都能進行隱式轉換。

加號比較特殊,面對字元串"8"沒有隱式轉換的

特殊值數值的計算:NaNInfinity參與的運算

Infinity參與的運算:

console.log(Infinity + 1000);     //Infinity
console.log(Infinity - 1000);     //Infinity
console.log(Infinity * 1000);     //Infinity
console.log(Infinity / 1000);     //Infinity
console.log(Infinity + Infinity); //Infinity
console.log(Infinity * Infinity); //Infinity
console.log(Infinity - Infinity); //NaN
console.log(Infinity / Infinity); //NaN
console.log(9 / 0); //Infinity
console.log(0 / 0); //NaN

NaN參與運算:得到結果都是NaN

console.log(NaN + 2);//NaN
console.log(NaN - 2);//NaN
console.log(NaN * 2);//NaN
console.log(NaN / 2);//NaN
console.log(NaN % 2);//NaN

特殊值的數學運算,防止被大公司面試陰,要過一下腦。不過數學運算的特殊值,沒有任何的實戰價值,建議沒必要刻意記憶,留著腦容量記更有用。


一.比較運算符

比較運算符介紹:

比較運算符(關係運算符)的正統,numbernumber的數學運算,比較它的操作數會返回一個Boolean布爾類型的值。要麼是true(真),要麼是false(假)

 >   大於

 <   小於

 >=  大於或等於

 <=  小於或等於

 ==  相等,判斷值相等,不會判斷數據類型

 ====全等於,除了判斷數值是否相等,還要判斷數據類型是否相等

 !=  不等於,取反,永遠和相等判斷相反

 !== 不全等,取反,永遠與全等於判斷相反

1.1正常情況下:數學和數字進行比較

 console.log(5 > 6);  //false

 console.log(5 < 6);  //true

 console.log(5 <= 6); //true

 console.log(5 >= 6); //false

 console.log(5 == 5); //true

 console.log(5 === 5);//true

 console.log(5 != 5); //false

 console.log(5 !== 5);//false

==叫做"相等判斷",不會判斷數據類型,它會進行隱式轉換,儘可能得到true的答案

 console.log(5 == "5"); //true

===叫做"全等於",會比較數值是否相等,還會判斷數據類型是否相等:

 console.log(5 === "5"); //false

 

!===的反面,如果==運算是true,那麼!=false

!=====的反面,如果===運算是true,那麼!==false

console.log(5 != "5"); //false,腦子要反著想,5 == "5"結果是true,取反後是false

console.log(5 !== "5"); //true,腦子要反著想,5 === "5"結果是false,取反後是true

正統的講完了,numbernumber進行比較運算,結果都是Boolean

1.2不正統的比較運算:

1、stringstring也能進行比較運算,比較的是字元編碼順序(Unicode)。

字元編碼順序:0~9A~Za~z,順序越往後越大。

比較多個字元串:從左往右,一個一個的比較,直到比較出大小,就終止比較。

console.log("a" < "b");  //true
console.log("A" < "B");  //true
console.log("A" < "a");  //true 大寫字母在字元集中是在小寫字母前面
console.log("1" < "A");  //true 數字在字母的前面
console.log("blank" < "blue");  //true 一位一位比較,直到比出大小,就結束比較,後面的忽略。
console.log("23" < "3"); //true,因為String和String比的不是數字,而是字元編碼順序

2、與數字進行比較運算時,純數字字元串會被轉為數字,null轉換0false轉換0true轉換1

null不能進行和0相等判斷。

console.log(null < 0.0001);  //true
console.log(null > -0.0001); //true
console.log(null >= 0);      //null轉化為number,為0>=0,所以結果為true
console.log(null <= 0);      //null轉化為number,為0<=0,所以結果為true
console.log(null >  0);      //null轉化為number,為0,所以0>0結果為false。
console.log(null == 0);//null在==判斷時,不進行轉型,所以null和0為不同類型,結果為false。
console.log(false == 0);     //true
console.log(true == 1);      //true

3、Stringnumber比,string會被隱式轉換為number

非正常情況:數字與其他數據比較,其他數據之間進行轉換(忽略字元串與字元串比較)

 "123" → 123 true → 1 false → 0 undefined → NaN "hello" → NaN"" →  0

舉例:

console.log(1 < "");  //false
console.log(0 == ""); //true
console.log(0 == "hello"); //false
console.log(0 == undefined); //false
console.log(1 < "2"); //true
console.log(0 === "");   //false
console.log(1 == true);  //true
console.log(0 == false); //true
console.log(0 == false); //true

4、特殊值參與比較:NaNInfinity

NaN參與:NaN不等於自己,也不全等於自己。

console.log(NaN == NaN);  //false
console.log(NaN === NaN); //false
console.log(NaN != NaN);  //true
console.log(NaN !== NaN); //true
console.log(NaN < 0);  //false
console.log(NaN >= 0); //false
console.log(NaN != 0); //true

Infinity

console.log(Infinity > 100);  //true
console.log(Infinity >= 100); //true
console.log(Infinity < 100);  //false
console.log(Infinity <= 100); //false
console.log(Infinity == 100); //false
console.log(Infinity != 100); //true

Infinity與自身比較:

console.log(Infinity > Infinity);  //false
console.log(Infinity >= Infinity); //true
console.log(Infinity < Infinity);  //false
console.log(Infinity <= Infinity); //true
console.log(Infinity == Infinity); //true
console.log(Infinity === Infinity);//true
console.log(Infinity != Infinity); //false
console.log(Infinity !== Infinity);//false

需要註意的是,我們已經瞭解一些不正統的運算,所以不要出洋相,不能連續使用比較運算符。

比如像驗證3大於22大於1

3 > 2 > 1;  //false

 

解:原式 3>2= true > 1 = false。(因為true被轉為1來與1進行比較)

也就是說,不能連續使用比較運算符,一旦使用了連續的,實際上是從左到右計算,所以就有上一步的布爾類型值參與下一步的運算。

 


 

二.邏輯運算符

邏輯運算符常用於布爾類型值之間,當操作數都是布爾值的時候,返回值也是布爾值。

 

 &&   邏輯“與”運算符,交集,兩個條件都成立才為真

 ||   邏輯“或”運算符,並集,只要其中一個成立就為真

 !    邏輯“非”運算符

 

2.1邏輯“與”&& 運算符

正統來說,參與邏輯運算的都是BooleanBoolean類型,得到的結果也是Boolean類型值。

按照真值表來定: &&邏輯與(且)

 

a && b

a

b

結果

 

結論:“都真才真”,“有假就假”。

 

 命題1:“地球是圓的”   真的

 命題2:“習大大是男的” 真的

 命題1  && 命題2 =

 

 命題1:“1+1=2”     真的

 命題2:“地球是方的” 假的

 命題1  && 命題2 =

 

邏輯運算符“與”

 

console.log(true && true);  //true
console.log(true && false); //false
console.log(false && true); //false
console.log(false && false); //false

2.2邏輯“或”|| 運算符

按照真值表來定: ||邏輯“或”

 

a || b

a

b

結果

 

結論:“有真就真”,“都假就假”。

 

命題1:“地球是圓的”   真的

命題2:“習大大是男的” 真的

命題1  || 命題2 =

 

命題1:“1+1=2”     真的

命題2:“地球是方的” 假的

命題1  || 命題2 =

 


 

2.3邏輯“非”!

!就是邏輯“非”,相反的,非真即假,非假即真。

 

 console.log(!true);  //false

 console.log(!false); //true

 console.log(!!!!!false); //true

 


2.4 邏輯運算符-短路語法

短路語法就是將“邏輯與”、“邏輯或”模擬成電路短路的效果。

非正常情況:布爾類型的值或其他類型的值進行混合邏輯運算,運算過程中其他的數據類型會隱式轉換為布爾類型的值,運算完之後返回值不一定是布爾值,而是對應的位置的某個具體值。

 

隱式轉換為false有:null0NaN、空字元串("")、undefined

隱式轉換為true有:除了以上5種,全是真。

 


2.4.1邏輯“&&”的短路語法

 

電流先通過a

如果a為真,能走到b,不論b為真還是假,直接輸出b的結果。

如果a為假,電流不通,直接留在a,不管b是什麼,直接把a作為結果輸出。

 

也就是說,本質上電腦進行a && b運算時,不是在進行邏輯分析,要麼輸出a,要麼輸出b。如果a是假的,直接輸出a;如果a是真的,直接輸出b

-----短路語法,要麼被a短路,要麼被b短路。

 

console.log(false && 8);  //false,且運算a已經是false,直接輸出false
console.log(true && 8);   //8,且運算a已經是true,電流通了,可以走到b,將b作為結果輸出
console.log(null && 8);   //null 且運算a已經是false,直接輸出a的結果
console.log(12 && 13);    //13 且運算a已經是true,電流通了,可以走到b,將b作為結果輸出
console.log(true && NaN); //NaN
console.log(undefined && 哈哈); //undefined
console.log("哈哈" && undefined); //undefined
console.log("" && undefined); // ""
//console.log(哈哈 && undefined); //報錯

2.4.2邏輯“||”的短路語法

 

總結:

如果a為真,直接得到a結果

如果a為假,直接得到b結果(換線路走b,不論b真假)

 

console.log(false || null);  //null
console.log(true || null);   //true
console.log(123 || "哈哈");  //123
console.log(0 || 18);        //18
console.log(18|| 0);         //18
console.log(undefined || NaN);//NaN

運算順序:非(!)、與(&&)、或(||)

 

true || false && !true || false

原式:= true || false && !true || false

      = true || false && false || false

      = true || false || false

      = true || false

      = true

 

 88 || 99 && 66 || 55

原式:= 88 || 99 && 66 || 55

      = 88 || 66 || 55

      = 88 || 55

      = 88


 

 undefined && ("3" != 3) || NaN && null

原式:= undefined && false || NaN && null

      = undefined || NaN && null

      = undefined || NaN

      =  NaN

 

綜合運算順序題目:非(!)、與(&&)、或(||)

 null && true || undefined && 123 || !"hello" && fasle

原式:= null && true || undefined && 123 || !"hello" && fasle

      = null && true || undefined && 123 || false && fasle

      = null || undefined && 123 || false && fasle

      = null || undefined || false && fasle

      = null || undefined || false

      = undefined || false

      = false

 

//短路語法案例:以後經常會遇見這種套路
var age = parseInt(prompt("請輸入年齡"));
(age >= 18) && alert("已經成年,可以考駕照");
(age < 18) && alert("未成年,可以做違法的事情");

總結短路語法:

當它們用於非布爾值的時候,返回值可能是非布爾值,其實這種運算很簡單,就兩句話:

 

 a && b 如果a為真,執行b

 a || b 如果a為真,執行a

 

不推薦背誦規律:自己去推導過程(短路語法)。


三.賦值運算符

賦值運算符必須有變數參與。

 =    簡單的賦值,不需要運算

 +=   加等於

 -=   減等於

 /=   除等於

 *=   乘等於

 %=   取餘等於

 ++   每次在原基礎上加1

 --   每次在原基礎上減1

 

var a = 1;
a += 2;  //這行語句等價於a = a + 2;
console.log(a);

var b = 6;
b /= 3;  //這行語句等價於b = b / 3;
console.log(b); //2

var c = 1;
c *= 2;  //這行語句等價於c = c * 2;
console.log(c); //2

var d = 100;
d -= 50;  //這行語句等價於d = d - 50;
console.log(d); //50

var e = 100;
e %= 10;  //這行語句等價於e = e % 10;
console.log(e); //0

var f = "大";
f += "家"; //這行語句等價於f = f + "家";
f += "好";
console.log(f);

++運算符:

++可以與輸出語句寫在一起,++寫在變數前和變數後不是一個意思。

 a++  : 先用a的原值,然後a再加1

 ++a  :先給a1,然後再給a賦新值

 

 var g = 10;

 console.log(g++); //10  先引用原值,再加1

 console.log(g);   //11,用了g++後的值

等價於:

 var f = 10;

 console.log(f); //先輸出f

 f++;            //然後f1

 

 var h = 10;

 console.log(++h);//11,這是自加1,再輸出

 

++有花式玩法,僅面試有用:

 var z = 8;

 console.log(4 + z++); //12,先用原來的z值,4 + 8,輸出12然後再加1

 

 var y = 9;

 console.log(++y % 5); //0,先把y1,然後使用i10 % 5 = 0

 

綜合案例:

var a = 10;
var b = 20;
var c = 30;
var sum = a++ + ++b + c++ + ++a + ++c;
//        10 + 21 + 30 + 12 + 32 = 105
console.log(a)
console.log(b)
console.log(c)
console.log(sum)

 


 

綜合運算順序

運算符的計算順序:

 貼身(! ++ -- → 數學運算符 → 比較運算符 → 邏輯運算符 → 賦值運算符

 

var a = 3 < 6 && 7 < 14;

原式 = true && true

     = true

 

 var b = 1 + 2 < 3 + 3 && 3 + 4 < 2 * 7

原式:= 1 + 2 < 3 + 3 && 3 + 4 < 2 * 7

      = 3 < 6 &&  7 < 14

      = true && true

      = true

 


 var c = false + true && 13;

原式: = 0 + 1 && 13

       = 1 && 13

       = 13

 

 

 var a = 15;

 false + a++ + true > 8 && 13 || 6

原式 =  false + 15 + true > 8 && 13 || 6

     =  16 > 8 && 13  || 6

     =  true && 13  || 6

     =  13  || 6

     =  13

 


四.if條件分支語句

流程式控制制語句:可以利用一些結構打斷程式,或者挑選分支執行,或者迴圈執行某一段語句。

包含:條件分支語句、迴圈語句

條件分支語句:if語句、switch語句、三元運算符

 

4.1 if語句

 if(條件表達式){

    條件表達式成立執行

 }

 

 if(條件表達式){

    條件表達式成立執行

 }else{

    條件表達式不成立執行

 }

 

if   如果

else 否則

條件表達式,可以是任意內容,表達式會強制得到一個布爾值,只要表達式在參與程式之前都會計算出一個結果。根據布爾類型結果的真假,選取分支。

 

if語句只會選一個分支進行執行,另一個不執行:

 

var num = 80;
if(num >= 60){
   alert("及格");
}else{
    alert("不及格");
}
if(8 > 10){
    alert("條件成立");
}else{
    alert("條件不成立");
}
//用戶輸入密碼
var pwd = parseInt(prompt("請輸入您的密碼"));
//返回用戶信息,是否正確
if(pwd == 123456){
    alert("密碼正確");
}else{
    alert("密碼錯誤");
}

如果結構體中只有單行語句,可以省略大括弧:

var pwd = parseInt(prompt("請輸入您的密碼"));
//返回用戶信息,是否正確
if(pwd == 123456)
    alert("密碼正確");
else
    alert("密碼錯誤");
    alert("請再次輸入");  //超出else的控制範圍,所以會執行

4.2多條件if語句

根據多個條件可以選擇不同的支進行執行。

語法:if...else if...else if

如果...否則如果...否則如果..否則

 

if(條件表達式1){
   條件表達式1成立,執行的結構體1
}else if(條件表達式2){
   條件1為假,條件2為真,執行的結構體2
}else if(條件表達式3){
   條件1、2為假,條件3為真,執行的結構體3
}else{
   以上的條件都為假,執行這裡的結構體
}

【註意】:

1、多條件if語句可以有多個else if,但是只能有一個elseelse也可以省略。前面的條件有滿足的直接選擇分支,如果都不滿足,就直接跳出if語句執行後面其他的代碼。

 

var s = parseInt(prompt("請輸入成績"));
if(s >= 90){
   alert("優秀!棒棒噠");
}else if(s >= 80){
   alert("良好!繼續保持");
}else if(s >= 70){
   alert("中等!繼續努力");
}else if(s >= 60){
   alert("及格");
}

2、跳樓現象:if語句選中了某個複合條件的分支,執行完結構體後,不管執行結果如何,都會直接跳出if語句。不再往下繼續判斷。

 

var a = 3;
if(a < 5){ 
    a += 5; //滿足第一個條件,執行完後,不會再繼續往下判斷,直接跳樓
}else if(a == 8){
    a + 3;
}else if(a % 3 == 2){
    a += 5;
}else{
    a += 12;
}
console.log(a); //8

if語句不管是普通的還是多分支的,都只會選一個分支,然後跳樓,殊途同歸執行if後面的語句。

4.3 if語句嵌套

if語句的結構體可以再嵌套if語句

如果想執行內部的if語句的某個分支,除了要滿足自身條件之外,還要滿足外層條件。

var sex = prompt("請輸入性別");
var age = parseInt(prompt("請輸入年齡"));
if(sex == "男" && age >= 22){
   alert("可以結婚了");
}else if(sex == "男" && age < 22){
   alert("你還小,先去網吧轉轉!");
}else if(sex == "女" && age >= 20){
   alert("菇涼,可以嫁人了");
}else if(sex == "女" && age < 20){
   alert("不能結婚,不要著急");
}else{
   alert("你是人妖嗎?")
}
if(sex == "男"){
   //<

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 總結一下我從Ubuntu 18.04下編譯成功AOSP的過程,以及遇到的坑 我的電腦配置: OS: Ubuntu 18.04 bionic Kernel: x86_64 Linux 4.18.0-17-generic CPU: Intel Core i5-8250U(4核8線程) RAM: 8G 步 ...
  • 某些情況下定製的Android系統為了限制用戶安裝應用,例如電視盒子,車載中控等,通過修改代碼屏蔽了正常安裝應用的方式 本文探討如何在 adb shell 具有讀寫data分區目錄的許可權前提下,通過adb push 拷貝方式繞過Android系統和adb install直接安裝apk到Android ...
  • *註:使用本方法請先引入layui依賴的layu.js和layui.css 1.html 2.js文件 3.自定義函數驗證 (1).帶請求的函數判斷: 比如驗證名稱是否重覆 (2).普通函數驗證 ...
  • webpack的基本使用 webpack 本質上是一個打包工具,它會根據代碼的內容解析模塊依賴,幫助我們把多個模塊的代碼打包。借用 webpack 官網的圖片: 雖然webpack4.x的版本可以零配置開始構建,但是在實際的項目中需要其它的一些功能,還是需要一個配置文件。 安裝 下麵一步一步講解配置 ...
  • 示例代碼托管在: "http://www.github.com/dashnowords/blogs" 博客園地址: "《大史住在大前端》原創博文目錄" 華為雲社區地址: "【你要的前端打怪升級指南】" [TOC] 一. 任務說明 使用原生 繪製餅圖(南丁格爾玫瑰)。(截圖以及數據來自於百度Echar ...
  • 大家好!歡迎瀏覽我的博客 我們現在學習怎麼下載,安裝,配置apache-tomcat。 首先我們先瞭解一下Tomcat,Tomcat是Apache 軟體基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共 ...
  • 盒子模型 1.框模型 框:頁面上所有元素都可以稱為“框” 框模型:(BOX Model),又稱盒子模型 定義框處理元素內容、內邊距padding、外邊距margin、邊框的樣式border 外邊距margin margin-方向: margin-left: margin-right: margin- ...
  • Vue腳手架的搭建步驟 1. 去node.js官網下載node.js並安裝,如下圖: 2. 找到下載的文件並點擊安裝: 一直到finish完成。安裝成功 3. 通過DOS密令打開: 輸入:node –v回車 可以查看安裝node.js 版本號如下圖: 4. 使用淘寶NPM鏡像:下圖 5. 進入下圖頁 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...