主頁 > 企業開發 > JavaScript 自學筆記(一)

JavaScript 自學筆記(一)

2020-09-11 11:29:08 企業開發

JavaScript學習

1. 簡介

  • JavaScript是世界上最流行的語言之一,是一種運行在客戶端的腳本語言
  • 腳本語言:不需要編譯,運行程序中由js決議器(js引擎)逐行來進行解釋并運行
  • 現在也可以基于Node.js技術進行服務器端編程

2. 瀏覽器執行JS簡介

瀏覽器分成兩個部分,渲染引擎和JS引擎

  • 渲染引擎:用來決議HTMLCSS,俗稱內核,比如chrome瀏覽器的blink,老版本的webkit
  • JS引擎:也稱為JS解釋器,用來讀取網頁中的JavaScript代碼,對其處理后運行,比如chrome瀏覽器的V8

Notes: 瀏覽器本身并不會執行JS代碼,而是通過內置JavaScript引擎(解釋器)來執行JS代碼,JS引擎執行代碼時逐行解釋每一句原始碼(轉換成機器語言),然后由計算機去執行,所以JavaScript語言歸為腳本語言,會逐行解釋執行,

3. JS的組成

graph TD A[JavaScript]-->B[ECMAScript] A[JavaScript]-->C[DOM] A[JavaScript]-->D[BOM]
  • ECMAScript:JavaScript語法

  • DOM:頁面檔案物件模型

    檔案物件模型(Document Object Model),是W3C組織推薦的處理可擴展標記語言的標準編程介面,通過DOM提供的介面可以對頁面的各種元素進行操作(大小,位置,顏色等)

  • 瀏覽器物件模型

    BOM(Browser Object Model)是指瀏覽器物件模型,它提供了獨立于內容的,可以與瀏覽器視窗進行互動的物件結構,通過BOM可以操作瀏覽器視窗,比如彈出框,控制瀏覽器的跳轉,獲取解析度等

4. JS位置

JS有3種書寫位置,分別為行內,內嵌和外部

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 2.內嵌式的js -->
    <script>
        alert('Completed');
    </script>
    <!-- 3.外部js script雙標簽 -->
    <script src=https://www.cnblogs.com/ingram03/p/"test.js"></script>

<body>
    
    </script>

5. JavaScript輸入輸出陳述句

方法 說明 歸屬
alert(msg) 瀏覽器彈出警示框 瀏覽器
console.log(msg) 瀏覽器控制臺列印輸出資訊 瀏覽器
prompt(info) 瀏覽器彈出輸入框,用戶可以輸入 瀏覽器

5.1 JavaScript顯示資料

  • 使用window.alert()彈出警告框
  • 使用document.write()方法將內容寫道HTML檔案中
  • 使用innerHTML寫入到HTML元素中
  • 使用console.log()寫入到瀏覽器的控制臺

6. 變數

6.1 本質:變數是程式在記憶體中申請的一塊用來存放資料的空間

使用變數的時候,一定要宣告變數,然后賦值,宣告變數本質是去記憶體申請空間

6.2 宣告一個變數并賦值,稱之為變數的初始化

//<script>
  //1. 用戶輸入姓名
  var myname = prompt('請輸入你的名字')
  //2. 輸出這個用戶名
  alert(myname)
//</script>

6.3 同時宣告多個變數

同時宣告多個變數時,只需要寫一個var,多個變數名之間使用英文逗號隔開

var age = 10,name = 'zs',sex = 'male';

6.4 變數宣告特殊情況

情況 說明 結果
var age;console.log(age); 只宣告 不賦值 undenfined
console.log(age) 不申明 不賦值 直接使用 報錯
age = 10;console.log(age); 不宣告 只賦值 10

6.5 變數的資料型別

變數是用來存盤值的所在處,它們有名字和資料型別,變數的資料型別決定了如何將代表這些值的位存盤到計算機的記憶體中.JavaScript是一種弱型別或者說動態語言.這意味著不用提前宣告變數的型別,在程式運行程序中,型別會被自動確定,

var age = 10;             //這是一個數字型
var address = "Guangzhou" //這是一個字串

在代碼運行時,變數的資料型別是由JS引擎根據=右邊變數值的資料型別來判斷的,運行完畢之后,變數就確定了資料型別,

JavaScript擁有動態型別,同時也意味著相同的變數可用作不同的型別:

var x = 6;      //x為數字
var x = "Bill"; //x為字串

6.6 資料型別的分類

JS把資料型別分為兩類:

  • 簡單資料型別(Number,String,Boolean,Undefined,Null)
  • 復雜資料型別(object)

簡單資料型別說明如下:

簡單資料型別 說明 默認值
Number 數字型,包含整型值和浮點值,如210.21 0
Boolean 布林值型別,如true,false,等價于1和0
String 字串型別,如"張三",注意JS里面,字串都帶引號 ""
Undefined var a;宣告了變數a 但是沒有給值,此時a = undefined undefined
Null var a = null;宣告了變數a為空值

6.6.1 JS中八進制在數字前面加0,十六進制在資料前面加0x

數字型的三個特殊值:

  • Infinity,代表無窮大,大于任何數值
  • -Infinity,代表無窮小,小于任何數值
  • NaN,Not a number,代表一個非數值
console.log(Number.MAX_VALUE * 2);  //Infinity無窮大
console.log(-Number.MAX_VALUE * 2); //Infinity無窮小
console.log('老師' - 100);          //NaN

isNan()用來判斷一個變數是否為非數字的型別,回傳true或者false

6.6.2 字串型別String

字串型可以是引號中的任意文本,其語法為單引號' '和雙引號""

JS可以用單引號嵌套雙引號,或者用雙引號嵌套單引號(外雙內單,外單內雙)
多個字串之間可以使用+進行拼接,其拼接方式為字串+任何型別 = 拼接之后的新字串

6.6.3 布爾型Boolean

布爾型和數字型相加的時候,true的值為1,false的值為0

console.log(true+1)  //2
console.log(false+1) //1

6.6.4 Undefied和Null

一個宣告后沒有被賦值的變數會有一個默認值undefined(如果經行相連或者相加時,注意結果)

undefied 和數字型相加,最后結果是NaN

6.6.5 字面量

字面量是在源代碼中一個固定值的表示方法

  • 數字字面量:8,9,10
  • 字串字面量:'黑馬程式員',"大前端"
  • 布爾字面量:true,false

7.資料型別轉換

7.1 通常使用的型別轉換

  • 轉換為字串

    方式 說明 案例
    toString() 轉成字串 var num=1;alert(num.toString());
    String()強制轉換 轉成字串 var num=1;alert(String(num));
    加號拼接字串 和字串拼接的結果都是字串 var num=1;alert(num+"I am string");
  • 轉換為數字型

    方式 說明 案例
    parselnt(string)函式 string型別轉換成整數數值型 parselnt('78')
    parseFloat(string)函式 string型別轉換成浮點數數值型 parseFloat('78.21')
    Number()強制轉換函式 string型別轉換成數值型 Number('12')
    js隱式轉換(- * / )減法,乘法,除法 利用算術運算隱式轉換為數值型 '12' - 0
  • 轉換為布爾型

    方式 說明 案例
    Boolean()函式 其他型別轉換成布林值 Boolean('true')

    A. 代表空,否定的值會被轉換為false,如' ' ,0,NaN,null,undefined

    B. 其余值都會被轉換為true

    console.log(Boolean(''));//false
    console.log(Boolean(0));//false
    console.log(Boolean(NaN));//false
    console.log(Boolean(null));//false
    console.log(Boolean(undefined));//false
    console.log(Boolean('小白'));//false
    console.log(Boolean(12));//false
    

8.運算子

運算子(operator)也被稱為運算子,是用于實作賦值,比較和執行算數運算等功能的符號

  • 算術運算子

    (不能直接判斷兩個浮點數是否相等)

    運算式:是由數字,運算子,變數等以能求得數值的有意義排列方法所得的組合

  • 遞增遞減運算子

    前置自增和后置自增如果單獨使用 效果是一樣的

    后置自增的區別,先回傳原值 后自增

  • 比較運算子

    注意的是 ==默認轉換資料型別,會把字串型別的資料轉換成數字型

    ===!==全等 要求值和資料型別都一致

    符號 作用 用法
    = 賦值 把右邊給左邊
    == 判斷 判斷兩邊值是否相等(注意此時有隱式轉換)
    === 全等 判斷兩邊的值和資料型別是否完全相同
  • 邏輯運算子

    運算子 描述 例子
    && and (x<10 && y>1) //true
    || or (x==5||y==5) //false
    ! not (x==y) //false

    短路運算(邏輯中斷):當有多個運算式(值)時,左邊的運算式值可以確定結果時,就不再繼續運算右邊的運算式的值

  • 賦值運算子

    賦值運算子 說明 案例
    = 直接賦值 var userName='Name';
    +=,-= 加,減一個數后再賦值 var age = 10;age+=5; //15
    *=,/=,%= 乘,除,取模后再賦值 var age = 2; age *= 5; //10
  • 運算子的優先級

    優先級 運算子 順序
    1 小括號 ()
    2 一元運算子 ++ -- !
    3 算術運算子 * / %+ -
    4 關系運算子 > >= < <=
    5 相等運算子 == != === !==
    6 邏輯運算子 &&||
    7 賦值運算子 =
    8 逗號運算子 ,

9. 流程控制

流程結構主要有三種結構,分別是順序結構,分支結構和回圈結構

JS語言提供了兩種分支陳述句 1. if, 2.switch

9.1 if陳述句:

//if...else 陳述句
if (condition)
{
    當條件為 true 時執行的代碼
}
else
{
    當條件不為 true 時執行的代碼
}

//if...else if...else 陳述句
if (condition1)
{
    當條件 1 為 true 時執行的代碼
}
else if (condition2)
{
    當條件 2 為 true 時執行的代碼
}
else
{
  當條件 1 和 條件 2 都不為 true 時執行的代碼
}

9.2 三元運算式:

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

語法結構:

條件運算式?運算式1:運算式2

9.3 switch陳述句

switch(n)
{
    case 1:
        執行代碼塊 1
        break;
    case 2:
        執行代碼塊 2
        break;
    default:
        與 case 1 和 case 2 不同時執行的代碼
}

Note:n的值和case里面的值相匹配的時候是全等,必須是值和資料型別一致才可以

10. 回圈

10.1 for回圈

for (初始化變數; 條件運算式; 操作運算式)
{
   被執行的代碼塊
}

10.2 while回圈

while (條件)
{
   需要執行的代碼
}
// do while
do
{
   需要執行的代碼
}
while (條件);

11. 陣列

11.1 創建陣列

//1. 利用new創建陣列
var 陣列名 = new Array();
var arr = new Array();  //創建一個新的空陣列
//2.3 利用陣列字面量創建陣列
var 陣列名 = [];
  • 陣列的字面量是方括號[]
  • 宣告陣列并賦值稱為陣列的初始化
  • 陣列中可以存放任意型別的資料,例如字串,數字,布林值等

11.2 陣列長度

陣列名.lenght

11.3 陣列中新增的元素

  • 可以通過修改length長度來實作陣列擴容的目的.length屬性是可讀寫的

    var arr = ['red','green','blue']
    console.log(arr.length);
    arr.length = 5;
    console.log(arr);
    console.log(arr[3]);//undefined
    console.log(arr[4]);//undefined
    
  • 新增陣列元素,修改索引號

    var arr1 = ['red','green','blue']
    arr1[3] = 'pink';
    

12. 函式

函式:封裝了一段可被重復呼叫執行的代碼塊,通過此代碼塊可以實作大量代碼的重復使用

函式宣告 - 方法1:

function functionName(parameters) {
  執行的代碼
}

函式宣告 - 方法2:

函式運算式

//例子
var x = function (a, b) {return a * b};

以上函式實際上是一個匿名函式(函式沒有名稱),函式存盤在變數中,不需要函式名稱,通常通過變數名來呼叫,

形參用來接收實參

在宣告函式時,可以在函式名稱后面的小括號添加引數,這些引數稱為形參,而在呼叫該函式時,同樣需要傳遞相應的引數,這些引數稱為實參

引數 說明
形參 形式上的引數,函式定義的時候傳遞的引數,當前并不知道是什么
實參 實際上的引數,函式呼叫的時候傳遞的引數,實參是傳遞給形參的
  • 1.如果實參的個數和形參的個數一致,則正常輸出結果
  • 2.如果實參個數多于形參的個數,會取到形參的個數
  • 3.如果實參的個數小于形參的個數,多出的形參定義為undefined,最終結果是NaN

12.1 函式回傳值

return終止函式.return陳述句之后的代碼不被執行

JS的return只能回傳一個值,如果用逗號隔開多個值,以最后一個為準

函式如果有return則回傳的是return后面的值,函式沒有return,則回傳undefined

12.2 arguments的使用

arguments是當前函式的一個內置物件,所有函式都內置了一個arguments物件,arguments物件中存盤了傳遞的所有實參,只有函式才有arguments

arguments展示形式是一個偽陣列,因此可以進行遍歷,偽陣列具有以下特點:

  • 具有length屬性
  • 按索引方式存盤資料
  • 不具有陣列的push,pop等方法

13. JavaScript作用域

一段程式代碼中所用到的名字并不總是有效和可用的,而限定這個名字的可用性的代碼范圍就是這個名字的作用域.作用域的使用提高了程式邏輯的區域性,增強了程式的可靠性,較少了名字沖突.

  • 全域作用域

  • 區域作用域

  • 全域變數:在全域作用域下宣告的變數(在函式外部定義的變數)

    • 全域變數在代碼的任何位置都可以使用

    • 在全域作用域下var宣告的變數是全域變數

    • 特殊情況下,在函式內不使用var宣告的變數也是全域變數(不建議使用)

      //案例4
      f1();
      console.log(a);
      console.log(b);
      console.log(c);
      function f1(){
          var a = b = c =9;
          console.log(a);
          console.log(b);
          console.log(c);
      }
      
      //分析
      //變數提升 函式提升 代碼如下
      function f1(){
          var a = b = c =9;
          //相當于 var a = 9;b = 9;c = 9; b和c 是直接賦值 沒有var宣告,當作全域變數
          //集體宣告的寫法 var a = 9,b = 9,c = 9;
          console.log(a);
          console.log(b);
          console.log(c);
      }
      f1();
      console.log(c);
      console.log(b);
      console.log(a);
      
      //輸出結果
      9
      9
      9
      9
      9
      undefined
      
  • 區域變數:在區域作用域下宣告的變數,

    • 區域變數只能在該函式內部使用
    • 在函式內部var宣告的變數是區域變數
    • 函式的形參實際上就是區域變數

作用域鏈:內部函式訪問外部函式的變數,采取的是鏈式查找的方式來決定取那個值,這種結構我們稱為作用域鏈.

14. 預決議

JS決議器運行JS分為兩步:(1)預決議(2)代碼執行

  1. 預決議 JS引擎會把JS里面所有var還有function提升到當前作用域的最前面
  2. 代碼執行 按照代碼書寫的順序從上往下執行

預決議分為變數預決議(變數提升)和函式預決議(函式提升)

  1. 變數提升 就是把所有的變數宣告提升到當前的作用域最前面,不提升賦值操作
  2. 函式提升 就是把所有的函式宣告提升到當前作用域的最前面 不呼叫函式

15. 物件

在JavaScript中,物件是一組無序的相關屬性和方法的集合,所有的事物都是物件,例如字串,數值,陣列,函式等.

  • 屬性:事物的特征,在物件中用屬性來表示
  • 方法:事物的行為,在物件中用方法來表示

15.1 創建物件

創建物件的三種方式:

  • 利用字面量創建物件
  • 利用new Object創建物件
  • 利用建構式創建物件

15.1.1 字面量創建物件

物件字面量:就是{}里面包含了表達這個具體事物(物件)的屬性和方法

var obj = {};//創建了一個空物件

//
var obj = {
    uname:'William',
    age:18,
    sex:'Male',
    sayHi:function(){
        console.log('hi~');
}shux
//1.里面的屬性或者方法采取鍵值對的形式.鍵(屬性名):值(屬性值)
//2.多個屬性或者方法中間用逗號隔開的
//3.方法冒號后面跟的是一個匿名函式

15.1.2 利用new Object創建物件

var obj = new Object();//創建一個空的物件

obj.uname = 'William';
obj.age = 18
obj.sayHi = function(){
    console.log('hi~');
}
//1.利用等號 = 賦值的方法 添加物件的屬性和方法
//2.每個屬性和方法之間愛用分號結束

15.1.3 建構式

建構式:是一個特殊的函式,主要用來初始化物件,即為物件成員變數賦初始值,它總與new運算子一起使用,可以把物件中的一些公共的屬性和方法抽取出來,然后封裝到這個函式里面.

建構式里面不是普通代碼,而是物件

//建構式的語法格式
function 建構式名(){
    this.屬性 = 值;
    this.方法 = function(){
        
    }
}
//例子
function Star(uname,age,sex){
    this.name =  uname;
    this.age = age;
    this.sex = sex;
    this.sing = function(sang){
        console.log(sang)
    }
}
var ldh = new Star('William',18,'Male');
//1.建構式名字首字母要大寫
//2.建構式不需要return,就可以回傳結果
//3.呼叫建構式 必須使用new
//4.只要new Star()呼叫函式就創建一個物件ldh()
//5.屬性和方法前面必須添加this

利用建構式創建物件的程序稱為物件的實體化.

15.1.4 new關鍵字執行程序

  1. 在記憶體中創建一個新的空物件

  2. this指向這個新的物件

  3. 執行建構式里面的代碼,給這個新物件添加屬性和方法

  4. 回傳這個新物件(所以建構式里面不需要return)

15.2 物件的呼叫:

(1).呼叫物件的屬性,采取 物件名.屬性名

(2).呼叫物件的另一種方法,物件名['屬性名']

(3).呼叫物件的方法 物件名.方法名()

console.log(star.name)
console.log(star['name'])
star.sayHi();

變數、屬性、函式、方法總結

  • 變數:單獨宣告賦值,單獨存在
  • 屬性:物件里面的變數稱為屬性,不需要宣告,用來描述該物件的特征
  • 函式:單獨存在的,通過函式名()的方式就可以呼叫
  • 方法:物件里面的函式稱為方法,方法不需要宣告,使用物件.方法名()的方式就可以呼叫,方法用來描述該物件的行為和功能

15.3 遍歷物件屬性

for....in...陳述句對于陣列或者物件的屬性進行回圈操作

var obj = {
    name:'William',
    age:18,
    sex:'Male'
    fn:function(){}
}

for (var k in obj){
    console.log(k);       // k 變數 輸出 得到的是 屬性名
    console.log(obj[k]); //  obj[k] 得到是 屬性值
}

15.4 內置物件

JavaScript中的物件分為3種:自定義物件,內置物件,瀏覽器物件

內置物件就是指JS語言自帶的一些物件,這些物件供開發者使用,并提供了一些常用的或是最基本而必要的功能(屬性和方法)

MDN檔案:https://developer.mozilla.org/zh-CN/

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

標籤:JavaScript

上一篇:echart 踩坑記錄

下一篇:[Go] GO語言實戰-為博客園增加gofly在線客服功能

標籤雲
其他(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)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more
  • 記錄-new Date() 我忍你很久了!

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家平時在開發的時候有沒被new Date()折磨過?就是它的諸多怪異的設定讓你每每用的時候,都可能不小心踩坑。造成程式意外出錯,卻一下子找不到問題出處,那叫一個煩透了…… 下面,我就列舉它的“四宗罪”及應用思考 可惡的四宗罪 1. Sa ......

    uj5u.com 2023-04-20 08:17:47 more
  • 使用Vue.js實作文字跑馬燈效果

    實作文字跑馬燈效果,首先用到 substring()截取 和 setInterval計時器 clearInterval()清除計時器 效果如下: 實作代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ......

    uj5u.com 2023-04-20 08:12:31 more
  • JavaScript 運算子

    JavaScript 運算子/運算子 在 JavaScript 中,有一些運算子可以使代碼更簡潔、易讀和高效。以下是一些常見的運算子: 1、可選鏈運算子(optional chaining operator) ?.是可選鏈運算子(optional chaining operator)。?. 可選鏈操 ......

    uj5u.com 2023-04-20 08:02:25 more
  • CSS—相對單位rem

    一、概述 rem是一個相對長度單位,它的單位長度取決于根標簽html的字體尺寸。rem即root em的意思,中文翻譯為根em。瀏覽器的文本尺寸一般默認為16px,即默認情況下: 1rem = 16px rem布局原理:根據CSS媒體查詢功能,更改根標簽的字體尺寸,實作rem單位隨螢屏尺寸的變化,如 ......

    uj5u.com 2023-04-20 08:02:21 more
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 08:01:50 more
  • 如何在 vue3 中使用 jsx/tsx?

    我們都知道,通常情況下我們使用 vue 大多都是用的 SFC(Signle File Component)單檔案組件模式,即一個組件就是一個檔案,但其實 Vue 也是支持使用 JSX 來撰寫組件的。這里不討論 SFC 和 JSX 的好壞,這個仁者見仁智者見智。本篇文章旨在帶領大家快速了解和使用 Vu ......

    uj5u.com 2023-04-20 08:01:37 more
  • 【Vue2.x原始碼系列06】計算屬性computed原理

    本章目標:計算屬性是如何實作的?計算屬性快取原理以及洋蔥模型的應用?在初始化Vue實體時,我們會給每個計算屬性都創建一個對應watcher,我們稱之為計算屬性watcher ......

    uj5u.com 2023-04-20 08:01:31 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:01:10 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:00:32 more