1. 程式人生 > 其它 >Linux 使用 Systemd 管理程序服務

Linux 使用 Systemd 管理程序服務

今日內容概要

  • JS簡介
  • 變數與常量
  • 基本資料型別
  • 運算子
  • 流程控制
  • 函式
  • 內建物件

今日內容詳細

JS簡介

全稱JavaScript但是與Java一毛錢關係都沒有 之所以這麼叫是為了蹭Java的熱度

它是一門前端工程師的程式語言 但是它本身有很多邏輯錯誤(不是很嚴謹)

IT行業鄙視鏈: 後端 > 前端、運維、測試、產品、老闆
前端想一統天下:node.js
    
JS發展史>>>:JavaScript很容易學習

JS基礎

1.註釋語法
	// 單行註釋
	/*多行註釋*/
    
2.引入js的多種方式
	1.head內script標籤內編寫
	2.head內script標籤src屬性引入外部js資源
	3.body內最底部通過script標籤src屬性引入外部js資源(最常用)
	ps:注意頁面的下載是從上往下的 所以操作標籤js程式碼一定要等待標籤載入完畢再執行才可以正常執行
        
3.結束符號
	分號(很多時候不寫也沒問題)

變數與常量

"""
1.python建立js檔案或者html檔案(適合編寫較為複雜的js程式碼)
2.瀏覽器提供編寫js程式碼的環境
"""
在js中宣告變數需要使用關鍵字
	var
    	var name = 'guts';
    let
    	let name = 'guts';
    ps:let是ECMA6新語法 可以在區域性定義變數不影響全域性
在js中宣告常量也需要使用關鍵字
	const
    	const pi = 3.14;

基本資料型別

"""
在JS中檢視資料型別的方式 typeof
"""
1.數值型別(Number)
	在JS中整形與浮點型不分家 都叫Number
	NaN也屬於數值型別 意思是:不是一個數字(Not A Number)

2.字元型別(String)
	單引號		'guts'
	雙引號		"guts"
	模板字串  `jason`
	let name1 = 'guts'
	let age1 = 18
	undefined
    let desc = `my name is ${name1} my age is ${age1}`

	1.字串拼接推薦使用加號
	2.常見內建方法

3.布林型別(Boolean)
	JS裡面的布林值與python不同
    	JS是純小寫的 而python是首字母大寫

4.null與undefined
	null表示值為空(曾經擁有過) undefined表示沒有定義(從來沒有過)

5.物件(object)
	物件之陣列(Array): 類似於python中的列表
        let l1 = []
	物件之自定義物件(Object):類似於python中的字典
        let d1 = {'name':'guts',}
        let d2 = new Object();  # 空字典 後續往裡新增鍵值對
        d2.name='guts'  # 這樣往裡新增鍵值對

運算子

1.算術運算子
	+ - * / % ++(自增1) --(自減1)
		var x=10
        var res1=x++;	加號在後面	先賦值後自增
        var res2=++x;	加號在前面	先自增後賦值
2.比較運算子
	!=(值不等 弱) ==(值相等 弱) ===(值相等 強) !==(值不等 強)
    ps:弱強是根據會不會自動轉換型別
3.邏輯運算子
	&&(與 相當與python中的and)
    ||(或 相當於python中的or)
    !(非 相當於python中的not)

流程控制

1.單if分支
	if (條件){
        條件成立執行的程式碼
    }
2.if...else分支
	if(條件){
        條件成立執行的程式碼
    }else{
        條件不成立執行的程式碼
    }
3.if...else if...else分支
	if(條件1){
        條件1成立執行的程式碼
    }else if(條件2){
        條件1不成立條件2執行的程式碼
    }else{
        條件1和2都不成立執行的程式碼
    }
4.如果分支結構中else if很多還可以考慮使用switch語法
	switch(條件){
        case 條件1:
        	條件1成立執行的程式碼;
        	break;	如果沒有break會基於某個case一直執行下去
        case 條件2:
        	條件2成立執行的程式碼;
        	break;
        case 條件3:
        	條件3成立執行的程式碼;
        	break;
        case 條件4:
        	條件4成立執行的程式碼;
        	break;
        default:
        	條件都不滿足執行的程式碼
    }

for迴圈
	for(起始條件;迴圈條件;條件處理){
        迴圈體程式碼
    }
	for(let i=0;i<10;i++){
        console.log(i)
    }
	let dd = {'name':'guts','age':18}
    for(let k in dd){
        console.log(k)
    }  # 列印鍵
    let dd = {'name':'guts','age':18}
    for(let k in dd){
        console.log(dd[k])
    }  # 列印值

while迴圈
	while(迴圈條件){
        迴圈體程式碼
    }

"""
三元運算
	python中:	值1 if 條件 else 值2
	JS中			條件?值1:值2
"""

函式

"""
python中函式的定義
	def 函式名(形參):
		'''函式註釋'''
		函式體程式碼
		return 返回值
"""
function 函式名(形參){
    //函式註釋
    函式體程式碼
    return 返回值
}
# 匿名函式
var s1 = function(a, b){
    return a + b;
}
# 箭頭函式
var f = v => v;  # 相當於
var f = function(v){
    return v;
}

var f = () => 5;
var f = function(){return 5};

var sum = (num1, num2) => num1 + num2;
var sum = function(num1, num2){
    return num1 + num2;
}

1.JS中函式的形參與實參個數可以不對應
	傳少了就是undefined 傳多了不用
2.函式體程式碼中有一個關鍵字arguments用來接受所有的實參
3.函式的返回值如果由多個需要自己處理成一個整體

內建物件

var d = new Date();
getDate()		獲取日
getDay()		獲取星期
getMonth()		獲取月
getFullYear()	獲取完整年份
getYear()		獲取年
getHours()		獲取小時
getMinutes ()    獲取分鐘
getSeconds ()    獲取秒
getMilliseconds () 獲取毫秒
getTime ()       返回累計毫秒數(從1970/1/1午夜)

new Date().toLocaleString()
'2022/12/5 17:18:50'


let dd = {name: 'jason', age: 18}
JSON.stringify(dd)	序列化
JSON.parse(ss)		反序列化

定義正則的兩種方式
var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}");
var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/;
# 正則第一次判定完預設在結尾 第二次判斷如果為false回到索引0的位置
1.全域性模式的規律
	lastIndex   # 顯示指標位置 可以判斷正則起始位置 
2.test匹配資料不傳預設傳undefined