日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript Notes

發布時間:2024/10/12 javascript 78 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript Notes 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScript Notes

了解

  • 區分大小寫、變量是弱類型、行結尾加分號、括號表明代碼塊
  • 注釋:單行// 塊注釋 /*
  • 特殊字符: +特殊字符

  • 常量/變量

  • 沒有常量概念,通常在代碼中給定值

    var a = 3.1415926;
    var b = "hello";

  • 變量-保存程序中的臨時值,可被后面的腳本使用,弱類型
  • 同時聲明多個變量(不建議)
  • 變量命名
    • 以字母、下劃線或美元符開頭
    • 余下字符可以是下劃線、美元符或任何字母數字
    • 最長255字符
    • 不能有空格、大小寫敏感
    • 不能使用JavaScript的關鍵字或保留字命名

  • 數據類型

  • typeof操作符:檢測變量的數據類型
  • 五種原始類型
    • undefined-未定義類型
    • Null-空類型
    • boolean-布爾類型(true/false)True/False是錯誤的
    • Number-數字類型:整型(十進制、八進制、十六進制)、浮點型(必須包含小數點)

      var box = 4.12e9; //即4120000000
      var box = 0.00000000412 //即4.12e-9

    • String-字符串類型:表示由零或多個16位Unicode字符組成的字符序列

      var box = 'Lee';
      var box = "Lee";

  • 一種復雜類型:Object

    對象起始就是一組數據和功能的集合
    使用new操作符,后跟要創建的對象類型的名稱來創建對象
    Object()里可以任意傳參,可以穿數值、字符串、布爾值等
    還可以進行相應的計算


    使用new Object()來表示一個對象,也可以使用這種new這種操作符來創建其他類型的對象
    var box = new Number(5);//new String('Lee')、new Boolean(true)
    alert(typeof box);

  • NaN,即非數值(Not a Number)是一個特殊的值

    用于表示一個本來要換回數值的操作數未返回數值的情況(這樣就不會拋出錯誤了)

  • 轉義字符

    \n 換行
    \t 制表
    \b 空格
    \r 回車
    \f 進紙
    \\ 斜杠
    \' 單引號
    \" 雙引號
    \xnn 以十六進制代碼nn表示一個字符(0~F)。eg:\x41
    \unnn 以十六進制代碼nnn表示的一個Unicode字符(0~F)。eg:\u03a3

  • 類型轉換

    JavaScript是弱類型語言,變量的類型對應于其值的類型
    可以對不同類型的變量執行運算,解釋器強制裝換數據類型,然后進行處理

    • 字符串->數值:
      • parseInt(var)
      • parseFloat(var)
      • Number(var)
    • 值->字符串
      • toString()
    • Number()函數:轉型函數,可以用于任何數據類型

  • 運算符

  • 賦值運算符:=、+=、-=、*=、/=
  • 算術運算符:+、-、* 、/、%、++、--、-
  • 關系運算符:==、!=、>、<、>=、<=
  • 等同運算符:===(嚴格意義上的等同)
  • 邏輯運算符:&&、||、!
  • 條件運算符:

    status = (age >= 18) ? "adult" : "minor"

  • 位運算符:
  • 有符號數:<<、>>
  • 無符號數:<<<、>>>
  • 優先級:略

  • 流程控制

  • 選擇語句:if、if-else、if-else if、switch
  • 循環語句:for、while、do-while、for-in、break、continue
  • 異常處理語句:try-catch、try-catch-finally、throw

  • 函數

    JavaScript的函數屬于Function對象,因此可以使用Function對象的構造函數來創建函數;
    可以使用function關鍵字以普通的形式來定義一個函數;

  • 普通定義方式(使用function)

    ···javascript
    function 函數名 ([參數1,[參數2,[參數N]]])
    {
    [語句組];
    [return [表達式]];
    }
    ···

  • 函數變量定義方式:實質是創建一個函數對象

    var 變量名 = new Function([參數1,[參數2,[參數N]]],[函數體]);

  • arguments對象--函數可以接受任意個數的參數,通過arguments來訪問

    arguments對象代表正在執行的函數和調用它的參數
    函數對象的length屬性說明函數定義時指定的參數個數
    arguments對象的length屬性說明調用函數時實際傳遞的參數個數
    作用:驗證所傳遞的參數是否符合函數要求

  • 函數返回類型
  • 值類型使用的是值傳遞方式,即傳遞數據的副本(一般情況下)
  • 引用類型返回的是數據的地址,而不是數據本身

    引用傳遞的優點是速度快,但系統會為維護數據而付出額外的開銷

  • 函數調用
  • 普通調用:帶參數調用、無參數調用
  • 鏈接調用:用戶點擊鏈接后,即調用該函數

    <a href="javascript: 函數">
    ...
    </a>

  • 事件觸發調用
  • 其他內部函數:
  • Number()、parseInt()、parseFloat();
  • isNaN();
  • eval()-把字符串當做JavaScript表達式來執行;
  • 函數嵌套:函數內部定義另外一個函數;
  • 函數的作用域:公有函數、私有函數

  • 數組

    JavaScript數組元素的數據類型可以不相同,可以是任意有效的JavaScript數據類型

  • 數組對象:一組變量的有序集合,通過數組索引來使用一個變量
  • 創建數組:
  • 創建一個空數組:

    var Obj = new Array();

  • 通過指定數組長度創建數組:

    var Obj = new Array(Size);

  • 通過指定數組元素創建數組:

    var Obj = new Array(元素1, 元素2, ... , 元素N);

  • 直接創建數組:

    var Obj = [元素1, 元素2, 元素3, ... , 元素N];

  • 數組使用:無區別
  • 數組元素的基本操作
  • 添加數組元素:
    • push()-將新元素添加到數組的尾部
    • unshift()-將指定個數的新元素插入數組的開始位置,形成新的數組

      var students = new Array();
      students.push("Lily");

    • 如果指定的下標超過數組的長度,數組將擴展為新下標指定的長度;
  • 刪除數組元素:
    • delete 數組名[下標];
    • 如果需要刪除全部元素只需要刪除數組對象即可

    var names = Array("李莉", "楊洋");
    delete names[0];

  • 數組元素的個數:

    var Obj = new Array(1, 2, 3);
    var count = Obj.length;

  • Array對象的常用方法
    • toString-返回Array中的元素轉為由逗號分隔的字符串
    • join-數組所有元素連接,間隔符由參數指定(省略參數則由逗號分隔)
    • concat-數組組合
    • pop-移除最后一個元素并返回該元素
    • push-增加新元素,并返回新長度
    • shift-移除第一個元素并返回該元素
    • slice-返回一個新數組,為原數組中的一段
    • reverse-返回一個新數組,由原數組反轉而成
    • sort-返回一個排序后的數組

  • JavaScript對象

    對象:一種類型(引用類型——一種數據結構,用于將數據和功能組織在一起),而對象的值就是引用類型的實例。

  • 對象成員:屬性(properties)和方法(methods)
  • 對象創建
  • 使用new運算符

    var box = new Object(); //使用new運算符創建Object
    box.name = '張三';
    box.age = 28;
    var box = Object(); //省略new關鍵字

  • 字面量表示法

    var box = { name : '張三', age : 28 };
    var box = {'name': '張三', 'age': 28};

  • 輸出方式

    alert(box.age);
    alert(box['age']);

  • 創建方法:

    var box = {
    run : function(){
    return '運行';
    }
    }
    alert(box.run());

  • 刪除對象屬性

    delete box.name;

  • with語句——將代碼作用域設置到一個特定的對象中
    • 在with語句體內,任何對變量的引用都被認為是這個對象的屬性

    var box = {'name':'tom','age':28,'height':178};

    var n = box.name;
    var a = box.age;
    var h = box.height;
    以上改寫成:
    with(box){
    var n = name;
    var a = age;
    var h = height;
    }

  • 對象廢除
    • 不必專門銷毀對象來釋放內存
    • 當沒有針對該對象的引用時,自動廢除
    • 把對象的引用設置為null也可以廢除
  • JavaScript內部對象
  • 常用內部對象
    • Array
    • Global
    • Date
      • toGMTString-使用格林威治標準時間數據格式將Date對象轉成字符串
      • toLocaleString-使用當地時間格式將Date轉成字符串
      • Date.parse(datestring)-用日期字符串表示自1970年1月1日以來的毫秒數
      • Date.UTC(year,month,day,hours,min,secs)-Date對象中自1970年1月1日以來的毫秒數
    • Math
      • abs(x)
      • ceil(x):大于等于x的最小整數
      • exp(x)
      • floor(x):小于等于x的最大整數
      • round(x):四舍五入
      • sqrt(x)
      • random(x)
    • String
      • charAt(i):返回指定索引位置處的字符
      • charCodeAt(i):
      • concat(str):連接字符串
      • indexOf(str)
      • lastIndexOf(str)
      • replace(str1, str2):返回將str1替換為str2后的字符串
      • slice(start,end):返回字符串中起始位置為start結束位置為end的子字符串
      • split(separator,limit):以separator為分隔符以數組返回limit個元素
      • substr(start,length)
      • substring(start,end):不包括end
      • toLowerCase
      • toUpperCase
    • Number
      • MAX_VALUE
      • MIN_VALUE
    • Boolean
      • toString()
      • valueOf()

  • 正則表達式

    正則表達式(regular expression)是一個描述字符模式的對象
    String和RegExp都定義了使用正則表達式進行模式匹配和文本檢索與替換的函數
    正則表達式主要用來驗證客戶端的輸入數據

  • 創建正則表達式
  • new運算符

    var box = new RegExp('box');
    var box = new RegExp('box','ig'); //para1:字符串,para2:可選模式修飾符

  • 字面量方式

    var box = /box/; //直接用兩個反斜杠
    var box = /box/ig; //反斜杠后加上模式修飾符

  • 參數:i->忽略大小寫, g->全局匹配, m->多行匹配
  • RegExp對象
  • 方法
    • test:在字符串中測試模式匹配,返回true或false
    • exec:在字符串中執行匹配搜索,返回第一個匹配值
  • 靜態屬性
    • input
    • lastMatch
    • lastParen
    • leftContext
    • multiline
    • rightContext
  • 實例屬性
    • global
    • ignoreCase
    • lastIndex
    • multiline
    • Source
  • String對象中的正則表達式方法
    • match(pattern)
    • replace(pattern,replacement)
    • search(pattern)
    • split(pattern)
  • 元字符

    包含特殊含義的字符,可以控制匹配模式的方式

  • 字符類:單個字符和數字
    • . 匹配除換行符外的任意字符
    • [a-z0-9] 匹配括號中的字符集中的任意字符
    • [^a-z0-9] 匹配不在括號中的任意字符
    • \d 匹配數字
    • \D 匹配非數字
    • \w 匹配字母和數字及_
    • \W 匹配非字母和數字及_
  • 字符類:空白字符
    • \0 匹配null字符
    • \b 匹配空格字符
    • \f 匹配進紙字符
    • \n 匹配換行符
    • \r 匹配回車字符
    • \t 匹配制表符
    • \s 匹配空白字符、空格、制表和換行符
    • \S 匹配非空白字符
  • 字符類:重復字符
    • x? 0或1個x
    • x* 0個或任意多個x
    • x+ 至少一個x
    • (xyz)+ 至少一個xyz
    • x{m,n} m-n個x
  • 字符類:替代字符
    • this|where|logo 匹配this或where或logo中任意一個
  • 字符類:錨字符
    • ^ 行首匹配
    • $ 行尾匹配
    • \A 只匹配字符串開始處
    • \b 匹配單詞便捷,詞在[]內時無效
    • \B 匹配非單詞邊界
    • \G 匹配當前搜索的開始位置
    • \Z 匹配字符串結束處或行尾
    • \z 只匹配字符串結束處
  • 字符類:記錄字符
    • (string) 用于反向引用的分組
    • \1或$1 匹配第一個分組中的內容
    • \2或$2 匹配第二個分組中的內容
    • \3或$3 匹配第三個分組中的內容
  • 常用的正則
    • 檢查郵政編碼:

      var pattern = /[1-9][0-9]{5}/; //共6位數字,第1位不能為0

    • 檢查文件壓縮包:

      var pattern = /[\w]+.zip|rar|gz/; //\w表示所有數字和字母加下劃線

    • 刪除多余空格:

      var pattern = /\s/g; //g必須全局,才能全部匹配

    • 刪除首尾空格:

      var pattern = /^\s+/; //強制首
      var str = ' goo gle ';
      var result = str.replace(pattern,'');
      var pattern = /\s+$/; //強制尾
      result = result.replace(pattern,'');
      alert('|'+result+'|');

      var pattern = /^\s*(.+?)\s*$/; //使用了非貪婪捕獲
      var str = ' google ';
      alert('|'+pattern.exec(str)[1]+'|');

      var pattern = /^\s*(.+?)\s*$/;
      var str = ' google ';
      alert('|'+str.replace(pattern,'$1')+'|');

    • 簡單的電子郵件驗證:

      var pattern = /^([a-zA-Z0-9_.-]+)@([a-zA-Z0-9_.-]+).([a-zA-Z]{2-4})$/;

      var pattern = /^([\w.-]+)@([\w.-]+).([\w]{2-4})$/;

  • 轉載于:https://www.cnblogs.com/mzyan/p/10295218.html

    總結

    以上是生活随笔為你收集整理的JavaScript Notes的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: www色com | 少妇饥渴难耐 | 一区二区三区视频播放 | 性中文字幕 | 中国美女一级黄色片 | 动漫av在线播放 | 久久久久久久久久久网站 | 天天看黄色 | 成人啪啪18免费游戏链接 | 青娱乐最新视频 | 男女网站视频 | 肥臀熟女一区二区三区 | 国产精品视频全国免费观看 | 外国黄色网址 | 午夜久久网| 国产精品国产三级国产aⅴ9色 | 国语对白做受按摩的注意事项 | 夜色资源网| 中文字幕免费在线看线人 | 男人插女人视频网站 | 都市激情亚洲色图 | 一级日韩片 | 色老板av | 亚洲国产日韩一区无码精品久久久 | 动漫美女被吸奶 | 色呦呦免费观看 | 精品91av | 国产xxxx做受性欧美88 | 这里只有久久精品 | 日本视频不卡 | 国产地址一| 日本一区二区视频免费 | 亚洲91网站| av片在线观看 | 日本在线h | 久久久久久亚洲精品 | 亚洲AV无码精品黑人黑人 | 精品自拍一区 | 青青草视频在线观看免费 | 国产毛片a级 | 四虎影视免费观看 | 日韩在线视频观看 | 大地av | 亚洲视频在线播放免费 | 亚洲高清av在线 | 亚洲乱亚洲乱 | 伊伊综合网 | 亚洲视频免费观看 | 欧美鲁| 国语对白久久 | 99久久婷婷国产综合精品青牛牛 | 国产在线xxxx | 在线不卡av电影 | 国产爆乳无码一区二区麻豆 | 日本一区二区三区视频在线 | 国产中年熟女高潮大集合 | 日本福利一区二区 | 日韩欧美色 | 在线成人av网站 | jzjzjzjzj亚洲成熟少妇 | 性生交大片免费看3p | 亚洲一区二区色 | 少妇喷水在线观看 | 男女啪啪十八 | 免费av电影网址 | 国产一区在线观看免费 | 亚洲综合社区 | 六月婷婷综合 | 99精品久久久久久久 | 亚洲制服丝袜在线播放 | 在线观看你懂的视频 | 天天看天天射 | 狠狠gao| 欧美 日韩 国产精品 | 永久免费在线观看av | 欧美女人一区二区 | 国产极品粉嫩 | 91香蕉视频在线观看免费 | 91高跟黑色丝袜呻吟动态图 | 亚洲av综合色区无码一二三区 | 国内自拍xxxx18| 麻豆精品自拍 | 国产精品第一 | 成人免费在线视频 | 妹子干综合 | 伊人亚洲综合 | 黄色片在线看 | 亚洲一级淫片 | 制服丝袜第二页 | 天天插av| 久久久天堂国产精品女人 | 91日批 | 伊人网大 | 91亚洲国产成人精品一区 | 日韩国产免费 | 日日躁狠狠躁 | 美女热逼 | 奇米影视狠狠 | 五月天综合色 |