主頁 >  其他 > Javascript知識分享——流程控制

Javascript知識分享——流程控制

2021-10-28 14:01:52 其他

目錄

前言

一、流程控制

二、順序流程控制

三、分支流程控制

1.if陳述句

2.if else 陳述句

3.三元運算式

4.if else if陳述句

5.switch陳述句

四、回圈流程控制

1.for回圈

2.雙重for回圈

3.while回圈

4.do…while回圈

五、continue和break

總結


前言

javascript是現在的流行語言之一,是一種運行在客戶端的腳本語言,而腳本語言是不需要編譯,運行程序中由js解釋器(JS引擎)逐行解釋并運行,最開始的javascript適用于表單動態檢驗,之后延伸出了各種各樣的用法,使用javascript的語言,我們可以實作非常多樣的行為操作:彈出選單欄、自動輪播圖、頁面互動效果等等的有趣的內容,為了能學會更多javascript的內容,需要從最基礎的內容開始扎根學習,因此,今天我們來分享一下javascript的基礎中,重要的內容:流程控制,


一、流程控制

我們先來了解一下什么是流程控制:

在一個程式執行的程序中,各條代碼的執行順序對程式的結果是有直接影響的,很多時候我們要通過控制代碼的執行順序來實作我們要完成的功能,
簡單理解: 流程控制就是來控制我們的代碼按照什么結構順序來執行
流程控制主要有三種結構,分別是順序結構分支結構回圈結構,這三種結構代表三種代碼執行的順序,


二、順序流程控制

順序結構是程式中最簡單、最基本的流程控制,它沒有特定的語法結構,程式會按照代碼的先后順序,依次執行,程式中大多數的代碼都是這樣執行的,正常的javascript的陳述句就是從上到下依次執行的,這里附上代碼方便理解順序的流程:

var num1 = prompt('請輸入第一個數字:');
var num2 = prompt('請輸入第二個數字:');
var result = parseFloat(num1) + parseFloat(num2);
alert('得到的和是:' + result);
var str = "everybody,nice to meet you";
console.log(str.length);

上面的代碼結果是:

下面的代碼則會在控制臺列印出這個陳述句的長度為26:


三、分支流程控制

分支流程控制,就是由上到下執行代碼的程序中,根據不同的條件執行不同的路徑代碼(執行代碼多選一的程序),從而得到不同的結果,一般有if、if else 、 if else if,還有三元運算式這幾種陳述句表現, 陳述句可以理解為一個行為,回圈陳述句和分支陳述句就是典型的陳述句,一個程式由很多個陳述句組成,一般情況下,會分割成一個一個的陳述句,


1.if陳述句

讓我們先來看看語法結構:

語法結構:
// 條件成立執行代碼,否則什么也不做
if (條件運算式) {
// 條件成立執行的代碼陳述句
}

用圖片來表示就是:

通過if后面的小括號來判斷代碼的條件,之后再去執行花括號內的代碼陳述句,如果符合條件,花括號內的陳述句才會執行,如果不符合,就會直接跳出去執行其他陳述句,這里我們來看看代碼的表現:

        var age = prompt('請輸入您的年齡:');
        if (age < 18) {
            alert("上NMD網吧回去學習,");
        }

if陳述句可以判斷的條件比較單一,而且對于其他情況的條件,不會彈出任何反饋,下一個if else判斷陳述句就可以實作反饋其他條件的效果,


2.if else 陳述句

if else的語法結構是這樣的:

語法結構
// 條件成立 執行 if 里面代碼,否則執行else 里面的代碼
if (條件運算式) {
// [如果] 條件成立執行的代碼
} else {
// [否則] 執行的代碼
}

判斷的流程就是:

如果if里面的條件符合的話,那么執行if的花括號內的陳述句,如果if里面的條件不符合,就取執行else里面的陳述句,之后執行if外面的陳述句, 讓我們用代碼來解釋一下這個程序:

//演算法:能被4整除且不能整除100的為閏年(如2004年就是閏年,1901年不是閏年)或者能夠被400 整除的就是閏年
var year = prompt('請輸入年份:');
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    alert('是閏年');
} else {
    alert('是平年');
}

我們可以看到,我們輸入不同的內容,回傳的結構都是不一樣的,這就是if else陳述句不同于if的地方,用戶輸入不同的內容的時候,都會有對應的回傳結果


3.三元運算式

三元運算式也能做一些簡單的條件選擇, 有三元運算子組成的式子稱為三元運算式

語法結構:
運算式1 ? 運算式2 : 運算式3;
執行思路:
如果運算式1為 true ,則回傳運算式2的值,如果運算式1為 false,則回傳運算式3的值
簡單理解: 就類似于 if else (雙分支) 的簡寫

這里附上代碼方便理解:

var num1 = prompt('請輸入0~59以內的數字:');
var time = num1 < 10 ? '0' + num1 : num1;
alert(time);

我們可以看出來,三元可以用更加簡單的方式實作if else的陳述句表達,根據需求去改變形式節省陳述句也是非常重要的,


4.if else if陳述句

if else if 多分支陳述句就是用來處理更多條件和范圍的分支流程陳述句,我們來看看它的語法結構:

語法結構
// 適合于檢查多重條件,
if (條件運算式1) {
陳述句1;
} else if (條件運算式2) {
陳述句2;
} else if (條件運算式3) {
陳述句3;
....
} else {
// 上述條件都不成立執行此處代碼
}

我們可以看到if else if陳述句有很多的判斷條件,這說明if else if陳述句可以囊更加細致的范圍條件的判斷,根據第一個條件的判斷結果,符合就直接執行陳述句,否則去下一個條件判斷運算式,不停的詢問直到陳述句結束,這里需要注意的是,if else if陳述句里面的else是為其他的else if 包含沒有包含的結果而留下來的部分,如果前面的else if陳述句已經完成了對條件運算式的范圍全部的概括,那么else不寫也是可以運行的,

讓我們來看看代碼:

var grade = prompt('請輸入你的成績:');
if (grade >= 90) {
    alert('優秀');
} else if (grade >= 80) {
    alert('良好');
} else if (grade >= 70) {
    alert('一般');
} else if (grade >= 60) {
    alert('及格');
} else {
    alert('不及格');
}

當我把60的條件更換之后,我們再來看看代碼:

var grade = prompt('請輸入你的成績:');
if (grade >= 90) {
    alert('優秀');
} else if (grade >= 80) {
    alert('良好');
} else if (grade >= 70) {
    alert('一般');
} else if (grade <= 60) {
    alert('及格');
}

可以看到,當我改變條件的時候,即使沒有else也可以正常運行,這里需要多注意代碼的內容,注意自己即使寫對了代碼也需要查看代碼的結構,雖然我這樣寫是正常運行的,但是判斷的條件就會讓即使不是60以上的分數也會是及格的回答,會不滿足條件,這個時候就需要多寫一個else if去滿足條件,而結尾寫else可以節省代碼的結構,所以更加方便,


5.switch陳述句

switch 陳述句也是多分支陳述句,它用于基于不同的條件來執行不同的代碼,當要針對變數設定一系列的特定值的選項時,就可以使用 switch,

switch( 運算式 ){
case value1:
// 運算式 等于 value1 時要執行的代碼
break;
case value2:
// 運算式 等于 value2 時要執行的代碼
break;
default:
// 運算式 不等于任何一個 value 時要執行的代碼
}

注意:

  • switch :開關 轉換 , case :小例子 選項
  • 關鍵字 switch 后面括號內可以是運算式或值, 通常是一個變數
  • 關鍵字 case , 后跟一個選項的運算式或值,后面跟一個冒號
  • switch 運算式的值會與結構中的 case 的值做比較
  • 如果存在匹配全等(===) ,則與該 case 關聯的代碼塊會被執行,并在遇到 break 時停止,整個 switch 陳述句代碼執行結束
  • 如果所有的 case 的值都和運算式的值不匹配,則執行 default 里的代碼
  • 注意: 執行case 里面的陳述句時,如果沒有break,則繼續執行下一個case里面的陳述句,

這里附上代碼方便理解:

var fruit = prompt('請輸入水果名字:');
switch (fruit) {
    case '蘋果':
        alert('蘋果3.5/斤');
        break;
    case '草莓':
        alert('草莓6.5/斤');
        break;
    case '香蕉':
        alert('香蕉5.5/斤');
        break;
    case '哈密瓜':
        alert('哈密瓜9.5/斤');
        break;
    default:
        alert('請重新輸入');
        break;
}

我們可以看到根據的內容,和case完全匹配了就可以被輸出出來,switch需要case和輸入的內容完全對應才會輸出,


四、回圈流程控制

在實際問題中,有許多具有規律性的重復操作,因此在程式中要完成這類操作就需要重復執行某些陳述句,在Js 中,主要有三種型別的回圈陳述句:

  • for 回圈
  • while 回圈
  • do...while 回圈


1.for回圈

在程式中,一組被重復執行的陳述句被稱之為回圈體,能否繼續重復執行,取決于回圈的終止條件,由回圈體及回圈的終止條件組成的陳述句,被稱之為回圈陳述句

for 回圈主要用于把某些代碼回圈若干次,通常跟計數有關系,
其語法結構如下:
for(初始化變數; 條件運算式; 操作運算式 ){
//回圈體
}

  1. 初始化變數:通常被用于初始化一個計數器,該運算式可以使用 var 關鍵字宣告新的變數,這個變數幫我們來記錄次數,
  2. 條件運算式:用于確定每一次回圈是否能被執行,如果結果是 true 就繼續回圈,否則退出回圈,
  3. 操作運算式:每次回圈的最后都要執行的運算式,通常被用于更新或者遞增計數器變數,當然,遞減變數也是可以的,

他的執行程序是這樣的:

  1. 初始化變數,初始化操作在整個 for 回圈只會執行一次
  2. 執行條件運算式,如果為true,則執行回圈體陳述句,否則退出回圈,回圈結束
  3. 執行操作運算式,此時第一輪結束
  4. 第二輪開始,直接去執行條件運算式(不再初始化變數),如果為 true ,則去執行回圈體陳述句,否則退出回圈,
  5. 繼續執行操作運算式,第二輪結束,
  6. 后續跟第二輪一致,直至條件運算式為假,結束整個 for 回圈,

讓我們來看看代碼:

var sum = 0,
    average = 0;
var num = prompt('請輸入班級人數:');
for (var i = 1; i <= num; i++) {
    var grade = prompt('請輸入第' + i + '的成績:');
    sum = sum + parseFloat(grade);
}
average = sum / num;
alert('班級學生的總成績是:' + sum);
alert('班級學生的平均分是:' + average);

這樣看起來可能比較困難,所以我們可以使用網頁檢查里的功能來分析回圈的程序,我們用另外一個例子來解釋:

var average;
var sum = 0;
for (var i = 1; i <= 100; i++) {
    sum = sum += i;
}
average = sum / 100;
console.log(average);

我們可以看到,初始化變數的操作在最開始執行之后,就不會再執行了,當i=1的時候,滿足了回圈的條件i <= 100,因此回圈的陳述句是可以執行的,則執行回圈體里面的陳述句:sum += i 實作1+2+3+4的連續操作(這里我其實只需要寫sum += i就可以了寫多了),sum += i的操作結束之后,執型i++的陳述句,然后直接轉移到判斷i是否 <=100,符合則繼續回圈,如果不滿足,就會跳出回圈體,執行回圈體外面的操作,

我們如果沒辦法理解回圈的代碼,可以通過這個方式來檢查回圈的流程,方法就是F12打開檢查,選擇source選項,選擇著里面的帶有js的html檔案,然后點擊需要檢測那一行變化的js代碼,之后重繪頁面,就可以點擊箭頭操作查看它的變化操作了,如果需要看變數的變化,可以點擊watch選項下的“+”號寫入你js里面的變數,就可以查看變數的變化了,


2.雙重for回圈

回圈嵌套是指在一個回圈陳述句中再定義一個回圈陳述句的語法結構,例如在for回圈陳述句中,可以再嵌套一個for 回圈,這樣的 for 回圈陳述句我們稱之為雙重for回圈,

for (外回圈的初始; 外回圈的條件; 外回圈的操作運算式) {
for (內回圈的初始; 內回圈的條件; 內回圈的操作運算式) {
需執行的代碼;
}
}

  1. 內層回圈可以看做外層回圈的陳述句
  2. 內層回圈執行的順序也要遵循 for 回圈的執行順序
  3. 外層回圈執行一次,內層回圈要執行全部次數

簡單的來說,就是外層回圈判斷正確之后,先執行內層回圈的判斷,內層回圈全部結束了,才會回傳上一個的外回圈操作運算式,然后再判斷外回圈的條件, 為了方便理解,我還是通過代碼和檢查的演示給大家看一看:

var str = '';
for (var i = 1; i <= 10; i++) {
    for (var j = i; j <= 10; j++) {
        str = str + '★';
    }
    str = str + '\n';
}
console.log(str);

我們可以看到列印星星的雙回圈邏輯,首先判斷現在是第一行,i=1 ,i <= 100 ,開始進入下面的回圈,進入內部的回圈之后,內部回圈從1開始列印到第10個星星,完成第一行的星星列印,結束了回圈之后,執行了換行的輸出,在執行i++的陳述句,之后才執行下一行的回圈,需要注意的是內部回圈因為j=i,當i=2的時候,j會從2開始列印,所以比上一次從1~10列印,2~10少列印了一顆星星,最后就會形成倒三角型的排列,如圖所示:


3.while回圈

while 陳述句可以在條件運算式為真的前提下,回圈執行指定的一段代碼,直到運算式不為真時結束回圈

while陳述句的語法結構如下:
while (條件運算式) {
// 回圈體代碼
}

注意:

  1. 使用 while 回圈時一定要注意,它必須要有退出條件,否則會成為死回圈
  2. while 回圈和 for 回圈的不同之處在于 while 回圈可以做較為復雜的條件判斷,比如判斷用戶名和密碼

執行思路:

  1. 先執行條件運算式,如果結果為 true,則執行回圈體代碼;如果為 false,則退出回圈,執行后面代碼
  2. 執行回圈體代碼
  3. 回圈體代碼執行完畢后,程式會繼續判斷執行條件運算式,如條件仍為true,則會繼續執行回圈體,直到回圈條件為 false 時,整個回圈程序才會結束

我們仍然用代碼來演示這個程序:

var j = 1,
    sum = 0;
while (j <= 100) {
    sum += j;
    j++;
}
console.log(sum);

我們可以看到while回圈有一個特點,就是他不具有計數器,因此他會無限回圈下去,如果要終止他,就需要讓變數自己在回圈里面自增加,否則就會變成死回圈,也就是寫入的條件運算式需要有變數滿足讓他退出條件的變數變化,也就是j最后必需要超出101才能退出這個回圈,因此利用這個特點,才有注意的第二點,可以用于驗證用戶名和密碼,比如下面這個案例:

var message = prompt('你吃飯了嗎?');
while (message !== '我吃啦') {
    message = prompt('你吃飯了嗎?');
}
alert('我也吃過啦');

可以看出來,只要我沒有輸出正確的答案,就會一直重復同一種回答,一直到我輸出正確的結果,才會退出回圈,這樣的操作還可以用來做更多有趣的效果,


4.do…while回圈

do... while 陳述句其實是 while 陳述句的一個變體,該回圈會先執行一次代碼塊,然后對條件運算式進行判斷,如果條件為真,就會重復執行回圈體,否則退出回圈

do... while 陳述句的語法結構如下:
do {
// 回圈體代碼 - 條件運算式為 true 時重復執行回圈體代碼
} while(條件運算式);
注意:

先再執行回圈體,再判斷,我們會發現 do…while 回圈陳述句至少會執行一次回圈體代碼

執行思路:

  1. 先執行一次回圈體代碼
  2. 再執行條件運算式,如果結果為 true,則繼續執行回圈體代碼,如果為 false,則退出回圈,繼續執行后面代碼

do…while回圈本質和while沒有太大區別,只是回圈至少會執行一次的特點讓他可以后判斷條件,用這個方式可以更簡單的制作while的回圈陳述句,我們來看看代碼:

do {
    var message = prompt('你吃飯了嗎?')
} while (message !== '我吃啦');
alert('我也吃過啦');

這個代碼執行的結果和上面while執行陳述句情況是一樣的,但是我們發現,之前寫的while需要在外面先寫一次message變數的語法,說明第一次詢問,之后在判斷用戶輸入的內容是否匹配,不匹配再進入回圈,而do…while的回圈會先回圈第一次,讓用戶先輸入內容,之后在對條件進行匹配,不匹配才會進入回圈,

總結一下,JS 中回圈有 for 、while 、 do…while ,三個回圈很多情況下都可以相互替代使用,如果是用來計次數,跟數字相關的,三者使用基本相同,但是我們更喜歡用 for

  • while 和 do…while 可以做更復雜的判斷條件,比 for 回圈靈活一些
  • while 和 do…while 執行順序不一樣,while 先判斷后執行,do…while 先執行一次,再判斷執行
  • while 和 do…while 執行次數不一樣,do…while 至少會執行一次回圈體, 而 while 可能一次也不執行

實際作業中,我們更常用for 回圈陳述句,它寫法更簡潔直觀


五、continue和break

continue 關鍵字用于立即跳出本次回圈,繼續下一次回圈(本次回圈體中 continue 之后的代碼就會少執行一次),而break 關鍵字用于立即跳出整個回圈(回圈結束),

這里附上兩個關鍵字的例子:

例如,吃5個包子,第3個有蟲子,就扔掉第3個,繼續吃第4個第5個包子,其代碼實作如下:
for (var i = 1; i <= 5; i++) {
if (i == 3) {
console.log('這個包子有蟲子,扔掉');
continue; // 跳出本次回圈,跳出的是第3次回圈
}
console.log('我正在吃第' + i + '個包子呢');
}

最后的結果就是,除了第三個包子,其他內容都會被輸出出來,

例如,吃5個包子,吃到第3個發現里面有半個蟲子,其余的不吃了,其代碼實作如下:
for (var i = 1; i <= 5; i++) {
if (i == 3) {
break; // 直接退出整個for 回圈,跳到整個for下面的陳述句
}
console.log('我正在吃第' + i + '個包子呢');
}

break則是直接跳出整個回圈,后面的包子都不會再出現了,


總結

在學習這一塊內容的時候,一定要多用檢查下的source功能,多查看整個js的流程變化,這對于之后學習js也是非常重要的功能,一定要多注意if和switch的區別,for和while的區別,剩下的就是多多學習和多多實踐,只有動手去做了才知道結果是什么樣的,再去做改變,如果對你有幫助,給我點個贊吧,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/339508.html

標籤:AI

上一篇:前端必學——用JavaScript實作電商圖片放大鏡效果(附代碼)

下一篇:解決es集群Yellow與Red的問題

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more