js基礎學習

1、js概述

js是javascript的簡稱,作用是實現頁面和用戶的交互
js由瀏覽器解析運行,不需要編譯
js由es基礎語法,bom瀏覽器相關,dom文檔操作相關 三大部分組成

2、html引入js

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>01-HTML引入JS</title><style type="text/css"></style>
</head>
<body>
<!--js 需要引入到html中, 瀏覽器加載的時候會自動解釋運行#js引入到html中的兩種方式1. 內部引入a. 在html中寫一個script標簽 (type="text/javascript" 可以省略)b. 然后在script標簽內編寫js代碼c. script標簽可以放在html中任意位置(推薦放在body內底部)2. 外部引入a.在html外部編寫一個js文件b. 然后通過script標簽的src屬性引入注意: 一個script標簽只能使用一種引入方式-->
<script type="text/javascript">alert("hello world");
</script><script src="js/my.js">/*這樣寫沒效果*//*alert("2333333~") */
</script>
</body>
</html>

小結:

1. <script>標簽可以用在任何位置,建議寫在<body>下面
2.一個<script>標簽只能使用一種引入方式

3、變量聲明

js是弱類型語言,不注重變量的定義,所以在js中定義變量的類型方式如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body></body>
<script>/****  es5:*      var(聲明任意類型的變量)**  es6:*      let(和var用法一樣,只不過引入作用域的概念)*      const :聲明常量**  typeof(變量)  查看變量的類型*//* var a ;a=1;a = "abc";alert(typeof (a));*//*let a ;a=1;a = "abc";alert(typeof (a));*///let和var的區別// for(let i=0;i<10;i++){//     console.log(i);// }//// alert(i);//常量不可更改const a = 10;//a= 11;</script>
</html>

小結:

1.js中使用let 和 var聲明變量,const聲明常量
2.let/const報錯,是因為js版本需要換成es6的版本

4、js的數據類型

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body></body>
<script>/*java 8大基本類型byte short int long float double  char  booleanjs 數據類型1. string字符串: 可以是單引,也可是雙引2. number數字型: 整數, 小數3. boolean布爾型: true/false4. undefined未定義 (只聲明,不賦值)5.對象類型Object*/let abc = "hello";console.log(typeof(abc));abc=123.2;console.log(typeof(abc));abc=true;console.log(typeof(abc));abc=undefined;console.log(typeof(abc));abc=null;console.log(typeof(abc));abc=new Date();console.log(typeof(abc));</script>
</html>

在這里插入圖片描述
小結:

1.js中let關鍵字聲明的變量可以接受任意數據類型
2.js中不嚴格校驗數據類型,因為js是弱數據類型的語言

5、js中的運算

1. 算數運算符+ - * / % ++ --
2. 賦值運算符= += -= *= /= %=eg. a+=1 -> a= a+1 
3. 比較運算符>   <     ==(===恒等于)     !=(!==不恒等于)
4. 邏輯運算符&& ||  !(非)
5. 三元(目)運算符條件表達式?為真:為假
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body></body>
<script>/*注意:1.js中的==只比較值的大小,不比較數據類型*/let abc = "123";let num = 123;console.log(abc==num);/***  2js中任意的非null,非undefined,非零可以理解成true*/if(abc){console.log("條件為真");}/*** 3.js中任意數值都可以參與邏輯運算左邊為真,值看右邊。左邊為假,值看左邊。*/console.log(abc&&num);console.log(0&&num);</script>
</html>

小結:

 1.js中的==只比較值的大小,不比較數據類型2.js中任意的非null,非undefined,非零可以理解成true3.js中任意數值都可以參與邏輯運算

6、js中的流程控制

if條件判斷:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>02-條件判斷</title></head>
<body><script>/*var : es6之前的變量聲明 后來被es6的 let/const替代es6(所有主流瀏覽器都支持)*   java中判斷條件是 結果為boolean的表達式*       js跟java不同的是: 任意類型都能當成判斷條件**       1. string -> 空串為false,非空串true*       2. number -> 非0為true,0為false*       3. boolean*       4. null  -> false*       5. undefined -> false* */let resultif(result){console.log(true)}else{console.log(false)}</script>
</body>
</html>

for循環:

1. 普通for循環for(let i= 0; i<10; i++){需要執行的代碼;}2. 增強for循環for(let element of array){需要執行的代碼;}3. 索引for循環for(let index in array){需要執行的代碼;}
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>03-循環語句</title></head>
<body><script>/** 1. 普通for循環for(let i= 0; i<10; i++){需要執行的代碼;}2. 增強for循環(for of)for(let obj of array){需要執行的代碼;}3. 索引for循環(for in) -> 了解for(let index in array){需要執行的代碼;}* *//**   java 數組:*       String[] array = {"張三","李四","王五"}*   js 數組:*       let array = ['張三','李四','王五']** */let array = ['張三','李四','王五']for(let i= 0; i<array.length; i++){console.log(array[i])}for(let element of array){console.log(element); // 數組中的每個元素}for(let index in array){console.log(index); // 數組中的每個元素索引}</script>
</body>
</html>

小結:

注意:
1.js中if條件判斷可以是任意值。任何非零,非null,非undefined理解成true,反之為false
2.for循環中,let關鍵字聲明變量    

7、js中的函數

1.普通函數

語法:

function 函數名(參數列表){函數體;[return 返回值;] // 中括號意思表示內容可以省略....
}

代碼:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body></body>
<script>/*function 函數名(參數列表){函數體;[return 返回值;] // 中括號意思表示內容可以省略....}注意:1.函數必須要被調用才能執行。2.js中函數如果需要返回值,直接return即可。3.js中的函數需要傳遞參數,直接寫變量名即可。4.js中不存在函數的重載。只要函數名一致,后面的會覆蓋前面的。5.js中函數的調用只要名字一致即可。在js中,有個隱藏對象,arguments存在了函數的所有參數*/function demo() {console.log("success");}//demo();function  demo2() {return 123;}// let num = demo2();// console.log(num);function demo3(a,b) {console.log(a+b);}//demo3(1,2);function demo3() {console.log("這是demo3");}//demo3(1,2);function demo5() {for(let param of arguments){console.log(param);}}demo5(1,2,3,"a");
</script>
</html>

小結:

1.函數的參數直接寫變量名
2.函數如果有返回值,直接寫return,不需要聲明返回值的類型
3.js中函數不存在重載,只需要函數名一致,就可以調用,無論參數列表
4.js函數中有默認變量,arguments,用來接收函數的所有參數。

2.匿名函數

語法:

function (參數列表){函數體;[return 返回值;] // 中括號意思表示內容可以省略....
}

代碼:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>05-匿名函數</title></head>
<body><script>/** js中的函數格式有兩種*   1. 普通函數*       function 函數名(參數列表){*           函數體*       }*   2. 匿名函數*      變量 = function(參數列表){*           函數體*      }**      a. 匿名函數沒有函數名*      b. 匿名函數必須給變量賦值**    補充:*       1. 在js,函數是一種特殊的變量類型(對象)!!!*       2. 匿名函數一般是用來注冊事件* */function method01(a,b) {document.write(a + b + "哈哈")}method01(1,2)document.write("<br>")let method02 = function (a,b) {document.write(a + b + "呵呵")}method02(1,5)document.write("<br>")document.write(typeof method02)document.write("<br>")</script>
</body>
</html>

小結:

js中的匿名函數一般都是結合js中的事件一起使用的

8、js中的事件

1.常用事件

場景說明:

 用戶輸入完用戶名,離開輸入框的時候,提示不合法。這是當用戶觸發了某個動作的時候,js就會執行相應的功能。這就是事件

在這里插入圖片描述
小結:

事件(event):JS可以監聽用戶的行為叫做事件
事件的作用:給事件綁定函數,事件觸發的時候,調用函數,執行函數的功能。

常見事件:

1. 點擊事件:1. onclick:單擊事件2. ondblclick:雙擊事件 (double: 時間間隔很短兩次單擊)2. 焦點事件1. onblur:失去焦點2. onfocus:元素獲得焦點。3. 加載事件:1. onload:頁面加載完成后立即發生。4. 鼠標事件:1. onmousedown    鼠標按鈕被按下。2. onmouseup    鼠標按鍵被松開。3. onmousemove    鼠標被移動。4. onmouseover    鼠標移到某元素之上。5. onmouseout    鼠標從某元素移開。5. 鍵盤事件:1. onkeydown    某個鍵盤按鍵被按下。    2. onkeyup        某個鍵盤按鍵被松開。3. onkeypress    某個鍵盤按鍵被按下并松開。6. 改變事件1. onchange    域的內容被改變。7. 表單事件:1. onsubmit    提交按鈕被點擊。

2.事件綁定

語法:

第一種:<標簽  事件名=函數名>
第二種:標簽對象.事件名=匿名函數

代碼:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--this代表的是觸發當前事件的標簽對象,此處就指代按鈕。--><input type="button"  value="按鈕" onclick="demo1()" onmouseover="demo4(this)" onmouseout="demo5(this)"><br><input type="text" onblur="demo2()"><br><select onchange="demo3()"><option>中國</option><option>俄羅斯</option><option>美國</option></select><br><input id="btn" type="button" value="按鈕2">
</body>
<script>/***           onclickonbluronchange  : 一般作用于下拉列表onsubmitonmouseoveronmouseoutonload事件綁定函數的語法:第一種:<標簽名  事件名="函數名">第二種方式:(開發常用)標簽對象.事件名=匿名函數**/function demo1() {alert("按鈕被點擊了");}function demo2() {alert("輸入框失去焦點了,我要驗證碼輸入框的內容的格式是否正確");}function demo3() {alert("下拉列表的內容改變了");}function demo4(myinput) {//修改按鈕的背景色myinput.style.backgroundColor="blue";}function demo5(myinput) {myinput.style.backgroundColor="green";}//通過標簽的id的屬性值獲取標簽對象let btn = document.getElementById("btn");btn.onclick = function () {alert("第二種綁定事件的方式");}
</script>
</html>

9、js中的內置對象

內置對象: js提供好的對象, 開發者直接可以創建對象,并使用

1.string對象

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>10-字符串</title></head>
<body>
<!--1. 構造字符串對象可以使用a. 雙引號b. 單引號c. 反引號(重音符) 鍵盤左上角 esc下面 (es6字符串模板)經常用在拼接字符串: 避免單雙引手動拼接'字符串${變量名}字符串'2. 字符串常用方法substring(startIndex,endIndex) 提取字符串中兩個指定的索引號之間的字符。  包頭不包尾toLowerCase() 把字符串轉換為小寫。toUpperCase() 把字符串轉換為大寫。split() 把字符串分割為字符串數組。trim() 去掉首尾空格-->
<script type="text/javascript">// ------------ 1. 構造字符串對象可以使用  雙引號,單引號,反引號// let str2 = new String("abc")let str = "abc"let str2 = 'abc'let str3 = `abc`console.log(str);console.log(str2);console.log(str3);let i = 100; // 效果: 小麗體重i斤let str4 = '小麗體重' + i + '斤'console.log(str4);let str5 = `小張體重${i}`console.log(str5);// ------------ 2. 字符串常用方法let str6 = "askfdjASDFAJSDLas"var s = str6.toLowerCase();console.log(s)
</script>
</body>
</html>

2.array對象

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>11-數組</title></head>
<body>
<!--數組查詢手冊完成:1. 創建數組a.  let array = new Array('a','b','c')b.  let array = ['a','b','c']  -> 中括號 (常用)js的數組更像java中的集合,長度可以變化的,元素類型不必一致2. 數組常用方法concat() 連接兩個或更多的數組,并返回結果。push() 向數組的末尾添加一個或更多元素,并返回新的長度。pop() 刪除并返回數組的最后一個元素join() 把數組的所有元素放入一個字符串。元素通過指定的分隔符進行分隔。與 字符串.split()切割為數組 方法相反sort() 對數組的元素進行排序
-->
<script>let array1 = new Array('a','b','c')let array2 = ['d','e','f']console.log(array1);console.log(array2);for (let i = 0; i < array1.length; i++) {console.log(array1[i]);}// 常用方法//concat: 兩個數組拼接, 產生新數組let array3 = array1.concat(array2)console.log(array3);console.log(array1.length)//往數組添加一個元素array1.push(100)console.log(array1.length)console.log(array1)//刪除并返回最后一個元素let s = array1.pop();console.log(array1)console.log(s)//將數組轉成字符串,元素之間用參數中的內容隔開(string的split方法相反)let str = array1.join(",");console.log(str);let arr = str.split(",")console.log(arr);let arr2 = [4, 3, 1, 2]console.log(arr2.sort()) // 默認升序console.log(arr2.sort().reverse()) // 降序var f = function(o1,o2){// return o1-o2; // 升序return o2-o1; // 降序}let arr3 = arr2.sort(f) // 傳參: 參數還是函數類型的變量console.log(arr3);console.log(arra2.sort(function (a,b) {return a-b;}))</script>
</body>
</html>

3.date對象

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>12-日期</title>
</head>
<body>
<!--日期  Date1. 創建對象let date = new Date(); 獲取當前時間時間2. 常用方法toLocaleString()      轉換為本地日期格式的字符串getFullYear() 獲取日期中的yeargetMonth()   獲取日期中的monthgetDate()    獲取日期中的 號getTime()   獲取時間毫秒值(時間原點: 1970年1月1號0時分秒)
--><script>let date = new Date();//Sun May 24 2020 14:38:34 GMT+0800 (中國標準時間:東八區)console.log(date);console.log(date.toLocaleString()); // 轉換為本地日期格式的字符串console.log(date.getFullYear()); // 年 四位console.log(date.getMonth()+1);// 月 范圍:0~11console.log(date.getDate()); // 日console.log(date.getTime()); // 1970年~今毫秒值</script></body>
</html>

4.math對象

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>13-數學</title></head>
<body>
<body>
<!--
數學運算查詢手冊完成1. 四舍五入 round()2. 向下取整 floor() 地板3. 向上取整 ceil()  天花板4. 產生隨機數 random() :返回 [0,1) 之間的隨機數。[0,1) 左閉右開區間,包含0不包含1-->
<script >let n = 1234.567//1. 四舍五入取整console.log(Math.round(n));//2. 向下取整console.log(Math.floor(n));//3. 向上取整console.log(Math.ceil(n));//4. 產生隨機數for (let i = 0; i < 10 ; i++) {console.log(Math.random());}
</script>
</body>
</html>

5.RegExp正則對象

正則表達式字符含義:
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
語法:

第一種:let reg = new RegExp("正則表達式"); 此處正則需要\\第二種:let reg = /正則表達式/;api正則對象.test(str);校驗字符串是否滿足正則表達式

代碼:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body></body>
<script>/**第一種:let reg = new RegExp("正則表達式"); 此處正則需要\\第二種:let reg = /正則表達式/;api正則對象.test(str);校驗字符串是否滿足正則表達式注意:js中的正則表達式必須加上^  $  .表示匹配整個字符串。否則表示的是  是否含有*/let username = "admin22555";//用戶名必須在6到8位(數字,字母,下滑線)之間//let regExp = new RegExp("^\\w{6,8}$");   此種方式中,需要\\let regExp = /^\w{6,8}$/;console.log(regExp.test(username));
</script>
</html>

小結:

1.如果采用new的方式創建正則對象,字符串中需要使用2個\

6.全局函數

我們不需要通過任何對象,可以直接調用的就稱為全局函數

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body></body>
<script>/***  parseInt():解析字符串,返回一個整數**/let str = '100.12px'let number = parseInt(str);console.log(number);/***  encodeURI() 把字符串編碼為 URI。*          杯子 -> %E6%9D%AF%E5%AD%90*  decodeURI() 解碼某個編碼的 URI 。*           %E6%9D%AF%E5%AD%90 ->  杯子**/let str3 = '杯子'var result = encodeURI(str3); //編碼console.log(result);console.log(decodeURI(result)) //解碼
</script>
</html>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/39509.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/39509.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/39509.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue項目打包上線

Nginx 是一個高性能的開源HTTP和反向代理服務器&#xff0c;也是一個IMAP/POP3/SMTP代理服務器。它在設計上旨在處理高并發的請求&#xff0c;是一個輕量級、高效能的Web服務器和反向代理服務器&#xff0c;廣泛用于提供靜態資源、負載均衡、反向代理等功能。 1、下載nginx 2、…

k8s學習--k8s群集ELK日志收集部署最詳細的過程與應用(收集k8s群集日志)(圖形化界面手把手教學)

文章目錄 FilebeatFilebeat主要特點Filebeat使用場景 ELK簡介Elasticsearch簡介Elasticsearch主要特點Elasticsearch使用場景 Logstash簡介Logstash主要特點Logstash使用場景 Kibana簡介Kibana主要特點Kibana使用場景 簡單理解 環境一、ELK集群部署1.軟件安裝2.軟件配置及啟動(…

Webpack: Loader開發 (2)

概述 在上一篇文章中&#xff0c;我們已經詳細了解了開發 Webpack Loader 需要用到的基本技能&#xff0c;包括&#xff1a;Loader 基本形態、如何構建測試環境、如何使用 Loader Context 接口等。接下來我們繼續拓展學習一些 Loader 輔助工具&#xff0c;包括&#xff1a; 了…

telegram支付

今天開始接入telegram支付,參考教程這個是telegram的官方說明,詳細介紹了機器人支付API。 文章公開地址 新建機器人 因為支付是一個單獨的系統,所以在做支付的時候單獨創建了一個bot,沒有用之前的bot了,特意這樣將其分開。創建bot的方法和之前不變,這里不過多介紹。 獲…

Linux文件數據寫入

結構體 fd fd也就是文件描述符&#xff0c;用于標識已經打開的文件、管道、socket等。是進程和內核的橋梁&#xff0c;允許進程執行各種文件操作 struct fd {struct file *file;unsigned int flags; };file Linux內核中表示打開文件的結構體&#xff0c;包含了文件操作所需…

什么是自然語言處理(NLP)?詳細解讀文本分類、情感分析和機器翻譯的核心技術

什么是自然語言處理&#xff1f; 自然語言處理&#xff08;Natural Language Processing&#xff0c;簡稱NLP&#xff09;是人工智能的一個重要分支&#xff0c;旨在讓計算機理解、解釋和生成人類的自然語言。打個比方&#xff0c;你和Siri對話&#xff0c;或使用谷歌翻譯翻譯一…

2024廣州國際米粉產業展覽會暨米粉節

2024廣州國際米粉產業展覽會 時間&#xff1a;2024年11月16-18日 地點&#xff1a;廣州中國進出口商品交易會展館 主辦單位&#xff1a;企陽國際會展集團 【展會簡介】 米粉作為一種歷史悠久&#xff0c;人們日常食用的食物&#xff0c;其市場需求穩定&#xff0c;且隨著人…

學習.NET 8 MiniApis入門

介紹篇 什么是MiniApis&#xff1f; MiniApis的特點和優勢 MiniApis的應用場景 環境搭建 系統要求 安裝MiniApis 配置開發環境 基礎概念 MiniApis架構概述 關鍵術語解釋&#xff08;如Endpoint、Handler等&#xff09; MiniApis與其他API框架的對比 第一個MiniApis…

WSL2安裝ContOS7并更新gcc

目錄 WSL2安裝CentOS7下載安裝包安裝啟動CentOS7 CentOS7更換國內源gcc從源碼安裝gcc卸載gcc CMake中使用gcc關于linux配置文件參考 WSL2安裝CentOS7 Windows11官方WSL2已經支持Ubuntu、Open SUSE、Debian。但是沒有centos&#xff0c;所以centos的安裝方式略有不同。 下載安…

【面試題】網絡IP協議(第六篇)

1.簡述IP協議的作用。 IP協議&#xff08;Internet Protocol&#xff09;是TCP/IP協議族中的核心協議之一&#xff0c;主要用于在互聯網上進行數據傳輸。它的主要作用包括&#xff1a; 尋址&#xff1a;IP協議通過IP地址來唯一標識網絡中的每一臺設備&#xff0c;確保數據包能…

家政小程序的開發:打造現代式便捷家庭服務

隨著現代生活節奏的加快&#xff0c;人們越來越注重生活品質與便利性。在這樣的背景下&#xff0c;家政服務市場迅速崛起&#xff0c;成為許多家庭日常生活中不可或缺的一部分。然而&#xff0c;傳統的家政服務往往存在信息不對稱、服務效率低下等問題。為了解決這些問題&#…

mindspore打卡之量子測量

mindspore打卡之量子測量 我們可以看到&#xff0c;采樣1000中&#xff0c;00’出現了503次&#xff0c;11’出現了497次&#xff08;由于測量具有隨機性&#xff0c;每次運行結果會略有不同&#xff09;&#xff0c;采樣結果符合概率分布&#xff0c;細微的誤差是由模擬器噪聲…

【D3.js in Action 3 精譯】1.2.2 可縮放矢量圖形(三)

當前內容所在位置 第一部分 D3.js 基礎知識 第一章 D3.js 簡介 1.1 何為 D3.js&#xff1f;1.2 D3 生態系統——入門須知 1.2.1 HTML 與 DOM1.2.2 SVG - 可縮放矢量圖形 ?? 第一部分第二部分【第三部分】?? 1.2.3 Canvas 與 WebGL&#xff08;精譯中 ?&#xff09;1.2.4 C…

gameui C++的代碼

gameui C的代碼 #include <graphics.h> #include "gameboard.h" const int WIDTH 560; const int HEIGHT 780; const int GRID_SIZE 120; class GameUi { private: public:GameUi(GameBoard& gb) {// 初始化圖形窗口initgraph(WIDTH, HEIGHT);// 設置…

小米內推官

小米硬件提前批開始啦&#xff01;&#xff01;&#xff01;&#xff01; 請使用小米公司內推碼: Q9BN21S 招聘對象&#xff1a;25屆秋招 中國內地:畢業時間2025.01-2025.12 中國港澳臺及海外:畢業時間2025.07-2025.12 工作地點&#xff1a;北京、南京、武漢、深圳、上海等…

C++中Ranges庫的基本用法,如何簡化和增強對集合的操作。

Ranges庫的基本用法 什么是Ranges庫&#xff1f; C20引入的Ranges庫&#xff08;<ranges>&#xff09;是一個強大的工具集&#xff0c;旨在簡化和增強對集合&#xff08;如數組、向量等序列容器&#xff09;的操作。它提供了一套用于操作序列的功能性接口&#xff0c;使…

獨立站新風口:TikTok達人帶貨背后的雙贏合作之道

TikTok以其龐大的用戶基礎、高度互動性和創新的內容形式&#xff0c;為獨立站帶來了前所未有的發展機遇。獨立站與TikTok達人的合作&#xff0c;不僅能夠幫助獨立站快速提升品牌知名度和銷售額&#xff0c;還能為TikTok達人帶來更多商業機會和影響力。本文Nox聚星將和大家探討獨…

Android sdk 安裝已經環境配置

&#x1f34e;個人博客&#xff1a;個人主頁 &#x1f3c6;個人專欄&#xff1a;Android ?? 功不唐捐&#xff0c;玉汝于成 目錄 正文 一、下載 二、安裝 三、環境配置 我的其他博客 正文 一、下載 1、大家可去官網下載 因為需要魔法 所以就不展示了 2、去下面這…

經典shell運維實用腳本~

以下腳本可謂日常工作常用到的經典腳本案例。希望可以幫助大家提升提升自動化能力&#xff01; 1、監控100臺服務器磁盤利用率腳本 #!/bin/bashHOST_INFOhost.infofor IP in $(awk /^[^#]/{print $1} $HOST_INFO); do USER$(awk -v ip$IP ip$1{print $2} $HOST_INFO) P…

【JS】純web端使用ffmpeg實現的視頻編輯器-視頻合并

純前端實現的視頻合并 接上篇ffmpeg文章 【JS】純web端使用ffmpeg實現的視頻編輯器 這次主要添加了一個函數&#xff0c;實現了視頻合并的操作。 static mergeArgs(timelineList) {const cmd []console.log(時間軸數據,timelineList)console.log("文件1",this.readD…