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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

复习JavaScript随手记

發(fā)布時(shí)間:2023/12/13 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 复习JavaScript随手记 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

數(shù)據(jù)類型

基本類型

  • string
  • number
  • boolean
  • undefined
  • number類型,包含整數(shù)浮點(diǎn)數(shù)

    NaN和自己都不相等,涉及NaN的計(jì)算結(jié)果都是NaN

    isNaN()函數(shù)用于判斷一個(gè)數(shù)是不是NaN

    引用類型

    object類型

    function類型 繼承自object

    object類型定義了prototype屬性

    可以通過(guò)它動(dòng)態(tài)給對(duì)象綁定方法和屬性

    內(nèi)置對(duì)象

    String

    封裝了很多方法,如 split() replace(),indexof(),includes()

    Array

    JS中的數(shù)組,在數(shù)組中可以保持任何類型的數(shù)據(jù),并且數(shù)組的長(zhǎng)度會(huì)自動(dòng)的增加

    創(chuàng)建數(shù)組對(duì)象:

    • 方式1:用這種方式創(chuàng)建數(shù)組的時(shí)候我們并沒(méi)有指明數(shù)組元素的類型和數(shù)組對(duì)象的長(zhǎng)度
      var arr = new Array();
    • 方式2:用這種方式創(chuàng)建數(shù)組的時(shí)候我們指明了數(shù)組對(duì)象的長(zhǎng)度
      var arr = new Array(5);

    • 方式3:用這種方式創(chuàng)建數(shù)組的時(shí)候我們指明了數(shù)組對(duì)象的長(zhǎng)度
      var arr = new Array("Hello", "World", 23, 5.6);

    • 方式4:
      var arr = ["Hello", "World", 23, 6.3, true, false, new Date()];

    Date

    常用方法

    > var d=new Date(); undefined > d 2019-01-26T11:13:49.912Z > d.getTime(); 1548501229912 > d.toString(); 'Sat Jan 26 2019 19:13:49 GMT+0800 (GMT+08:00)' > d.toLocaleString(); '2019-1-26 19:13:49' >

    Math

    注意:JS中的Math類和Java中的Math類類似.都是用來(lái)執(zhí)行某些算術(shù)操作的
    都是不能創(chuàng)建對(duì)象的.類似于Java中,通過(guò)類名.xxx,類名.xxx()調(diào)用屬性和方法

    var pai = Math.PI;var num = Math.max(10, 30);

    Regexp

    正則表達(dá)式就是專門來(lái)處理String數(shù)據(jù)的.按照特定的規(guī)則,用正則元素指定一個(gè)有規(guī)則的模板
    (例如郵箱的規(guī)則),然后測(cè)試某個(gè)String是否符合這個(gè)規(guī)則.(也就是測(cè)試某個(gè)String是否符合郵箱的規(guī)則)

    使用方式:

    創(chuàng)建正則對(duì)象

    調(diào)用test()方法

    被測(cè)試字符串滿足正則規(guī)則返回true

    // 測(cè)試參數(shù)string是否是有效的中文字符// JS中字符是采用UniCode編碼的,每個(gè)國(guó)家的字符都在在UniCode編碼的某個(gè)范圍之內(nèi)function checkChinaese(str) {var re = "[\u4e00-\u9fa5]"; // 中文的編碼范圍var regExp = new RegExp(re); // 創(chuàng)建正則表達(dá)式對(duì)象if (regExp.test(str)) {return true;} else {return false;}}

    創(chuàng)建正則對(duì)象的方式:

  • var reg = new RegExp("^[hH]ello$");
  • var reg = /^[hH]ello$/
  • > var reg = /^[hH]ello$/ undefined > reg.test("hello"); true > reg.test("Hello"); true > reg.test("Hello1"); false > reg.test("Hffellasdfo1"); false

    數(shù)據(jù)類型轉(zhuǎn)換

    typeof()函數(shù)檢查數(shù)據(jù)的類型

    js和python一樣會(huì)自動(dòng)將數(shù)據(jù)轉(zhuǎn)換成boolean類型用于條件表達(dá)式

    轉(zhuǎn)換規(guī)則: 0 NaN "" undefined null ->false

    底層實(shí)現(xiàn)是調(diào)用了Boolean()函數(shù)

    const PI = 3.14;if (PI){console.log("PI is true"); }

    非數(shù)值類型轉(zhuǎn)數(shù)值類型

  • 可以使用Number()函數(shù)
  • 使用parseInt()函數(shù)
  • 使用parseFloat()函數(shù)
  • 常用parseInt()``parseFloat()將string轉(zhuǎn)數(shù)值

    非string轉(zhuǎn)string

  • toString() (null和undefined不能用這個(gè)方法)
  • String()函數(shù),該函數(shù)可以將任何類型數(shù)據(jù)轉(zhuǎn)換為String,包括null和undefined
  • null,undefined,NaN的比較

  • undefined與null是相等;

  • NaN與任何值都不相等,與自己也不相等。

  • 變量聲明

    var

    聲明變量

    const

    聲明常量,必須賦初始值,且不能修改.

    let

    聲明局部變量

    運(yùn)算符

    ==

    JS中的== 和java中的== 相同點(diǎn)

  • 對(duì)于基本類型來(lái)說(shuō),是比較兩個(gè)基本類型的值是否相等
  • 對(duì)于引用類型來(lái)說(shuō),是比較兩個(gè)引用的地址是否相同
  • JS中的== 和java中的== 不同點(diǎn)

    • 下面這種寫法在java中是錯(cuò)誤的.但是在JS中是可以的.在js會(huì)吧兩個(gè)不同類型的變量轉(zhuǎn)換成相同的類型,然后再去比較
    • 轉(zhuǎn)換的規(guī)則如下:當(dāng)兩個(gè)運(yùn)算數(shù)的類型不同時(shí):將他們轉(zhuǎn)換成相同的類型,
      • 1)一個(gè)數(shù)字與一個(gè)字符串,字符串轉(zhuǎn)換成數(shù)字之后,進(jìn)行比較。
      • 2)true轉(zhuǎn)換為1、false轉(zhuǎn)換為0,進(jìn)行比較。

    ===這是java沒(méi)有的.具體的用法:

    • 只有兩個(gè)變量的類型一致的時(shí)候,才會(huì)去比較.如果兩個(gè)變量的類型不一致則直接返回false
    • === 既要比較變量的類型,又要比較變量的值

    delete

    delete運(yùn)算符的使用,有三種形式

  • 刪除對(duì)象中的某個(gè)屬性.但是不會(huì)影響其他的對(duì)象
  • 刪除數(shù)組中的某個(gè)元素,但是不會(huì)影響數(shù)組的長(zhǎng)度和其他的數(shù)組元素
  • 用在with語(yǔ)句中
  • void指定要計(jì)算一個(gè)表達(dá)式但是不返回值

    href="javascript:void(0)" 不會(huì)重新刷新頁(yè)面

    函數(shù)

    js沒(méi)有函數(shù)重載

    聲明方式1

    function add(x, y){return x +y; } //形參 不用var/let/const 也沒(méi)有類型,不用有返回值類型,只能返回1個(gè)值

    聲明方式2

    add = function (a, b) {return a +b; };

    流程控制

    switch

    swich語(yǔ)句的條件是任何類型的變量

    var s1 = "hello"; switch(s1){case "hello":console.log("hello world");break;case "world":console.log("world");break;default:console.log("上述條件都不滿足的情況");break; }

    for

    常規(guī)for循環(huán)

    for (let i = 0; i < 10; i++) {console.log("老婆,我想你"); }

    for in (類似python中的for in 但是jsforin 只能取到Index)

    const array = [3, 6, 8, 9, "呵呵", false]for (let index in array) {console.log(array[index]); }

    while/do while/if和java一樣

    JSON

    eval()函數(shù)

    我們把一段有效的JS代碼放到了一個(gè)String中
    eval()函數(shù)就可以解析并執(zhí)行String中有效的js代碼

    > var s2 = "console.log('hello js!')"; undefined > eval(s2); hello js! undefined

    JSON定義語(yǔ)法

    JavaScript對(duì)象標(biāo)記,可以簡(jiǎn)化自定義對(duì)象的使用過(guò)程,定義并實(shí)例化一個(gè)js對(duì)象
    JSON語(yǔ)法 : var 變量 = {
    屬性: 屬性值,
    屬性: 屬性值,
    屬性: 屬性值 // 注意:最后一個(gè)語(yǔ)句后面沒(méi)有,
    };
    屬性值 可以是 任何類型,(當(dāng)然也可以是數(shù)組了)

    > var xx = {name:"jack",age:12} undefined > xx { name: 'jack', age: 12 } > xx.age; 12 > xx['age'] 12

    屬性的訪問(wèn)方式:

  • xx.屬性名
  • xx["屬性名"]
  • 定義有方法的JSON對(duì)象

    function sayHi(name) {console.log("你好," + name + "!!"); }var stu = {name: '張小三', age: 12, sayHello: sayHi}stu.sayHello("小明");

    定義復(fù)雜的JSNO對(duì)象,屬性名可以用字符串,也可以不用.

    var per = {"name": "張三","addr": { // 地址的屬性是另外一個(gè)JSON對(duì)象"city": "北京","street": "大興區(qū)","zipcode": "100012"},"aihao": ["抽煙", "喝酒", "燙頭"] // 愛(ài)好屬性的值是一個(gè)數(shù)組};

    使用JSON來(lái)傳輸數(shù)據(jù)

    // 下面這個(gè)string就是從服務(wù)器端返回的json格式的stringvar str = 'var user ={"name": "張三",age : 23,"address":"北京市大興區(qū)"}';// 使用eval函數(shù)解析并執(zhí)行這個(gè)從服務(wù)器端返回的stringeval(str)// 訪問(wèn)對(duì)象的屬性console.log("user.name=" + user.name + ",age=" + user.age + ",address=" + user.address);

    轉(zhuǎn)載于:https://www.cnblogs.com/endurance9/p/10324730.html

    總結(jié)

    以上是生活随笔為你收集整理的复习JavaScript随手记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。