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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

04 javascirpt基础知识---听课笔记

發(fā)布時(shí)間:2025/7/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 04 javascirpt基础知识---听课笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.JavaScript概念

?一門客戶端腳本語言
運(yùn)行在客戶端瀏覽器中的。每一個(gè)瀏覽器都有JavaScript的解析引擎
腳本語言:不需要編譯,直接就可以被瀏覽器解析執(zhí)行了

* 功能:可以來增強(qiáng)用戶和html頁面的交互過程,可以來控制html元素,讓頁面有一些動(dòng)態(tài)的效果,增強(qiáng)用戶的體驗(yàn)。

2.JavaScript發(fā)展史:
(1) 1992年,Nombase公司,開發(fā)出第一門客戶端腳本語言,專門用于表單的校驗(yàn)。命名為 : C-- ,后來更名為:ScriptEase
(2)1995年,Netscape(網(wǎng)景)公司,開發(fā)了一門客戶端腳本語言:LiveScript。后來,請(qǐng)來SUN公司的專家,修改LiveScript,命名為JavaScript
(3)1996年,微軟抄襲JavaScript開發(fā)出JScript語言
(4)1997年,ECMA(歐洲計(jì)算機(jī)制造商協(xié)會(huì)),制定出客戶端腳本語言的標(biāo)準(zhǔn):ECMAScript,就是統(tǒng)一了所有客戶端腳本語言的編碼方式。

JavaScript = ECMAScript + JavaScript自己特有的東西(BOM+DOM)

3.ECMAScript:客戶端腳本語言的標(biāo)準(zhǔn)
(1)基本語法:
  <1> 與html結(jié)合方式
    1. 內(nèi)部JS:
    * 定義<script>,標(biāo)簽體內(nèi)容就是js代碼
    2. 外部JS:
    * 定義<script>,通過src屬性引入外部的js文件

    * 注意:
    1. <script>可以定義在html頁面的任何地方。但是定義的位置會(huì)影響執(zhí)行順序。
    2. <script>可以定義多個(gè)。

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><!--內(nèi)部js--><script>alert("hello world")</script><!--外部js--><script src="js/js1.js"></script> </head> <body></body> </html>

  <2>注釋
    1. 單行注釋://注釋內(nèi)容
    2. 多行注釋:/*注釋內(nèi)容*/
  <3> 數(shù)據(jù)類型:
    1. 原始數(shù)據(jù)類型(基本數(shù)據(jù)類型):
      1. number:數(shù)字。 整數(shù)/小數(shù)/NaN(not a number 一個(gè)不是數(shù)字的數(shù)字類型)
      2. string:字符串。 字符串 "abc" "a" 'abc'
      3. boolean: true和false
      4. null:一個(gè)對(duì)象為空的占位符
      5. undefined:未定義。如果一個(gè)變量沒有給初始化值,則會(huì)被默認(rèn)賦值為undefined

    2. 引用數(shù)據(jù)類型:對(duì)象

  <4>?變量
  * 變量:一小塊存儲(chǔ)數(shù)據(jù)的內(nèi)存空間
  * Java語言是強(qiáng)類型語言,而JavaScript是弱類型語言。
  * 強(qiáng)類型:在開辟變量存儲(chǔ)空間時(shí),定義了空間將來存儲(chǔ)的數(shù)據(jù)的數(shù)據(jù)類型。只能存儲(chǔ)固定類型的數(shù)據(jù)
  * 弱類型:在開辟變量存儲(chǔ)空間時(shí),不定義空間將來的存儲(chǔ)數(shù)據(jù)類型,可以存放任意類型的數(shù)據(jù)。
  * 語法:
  * var 變量名 = 初始化值;

  * typeof運(yùn)算符:獲取變量的類型。
  * 注:null運(yùn)算后得到的是object
  

  <5> 運(yùn)算符
  (1)一元運(yùn)算符:只有一個(gè)運(yùn)算數(shù)的運(yùn)算符
  ++,-- , +(正號(hào))
  ++ --: 自增(自減)
    ++(--) 在前,先自增(自減),再運(yùn)算
    ++(--) 在后,先運(yùn)算,再自增(自減)
  +(-):正負(fù)號(hào)
  * 注意:在JS中,如果運(yùn)算數(shù)不是運(yùn)算符所要求的類型,那么js引擎會(huì)自動(dòng)的將運(yùn)算數(shù)進(jìn)行類型轉(zhuǎn)換
  * 其他類型轉(zhuǎn)number:
  * string轉(zhuǎn)number:按照字面值轉(zhuǎn)換。如果字面值不是數(shù)字,則轉(zhuǎn)為NaN(不是數(shù)字的數(shù)字)
  * boolean轉(zhuǎn)number:true轉(zhuǎn)為1,false轉(zhuǎn)為0
  (2)算數(shù)運(yùn)算符
  + - * / % ...

  (3)賦值運(yùn)算符
  = += -+....

  (4) 比較運(yùn)算符
  > < >= <= == ===(全等于)
  * 比較方式
    1. 類型相同:直接比較
    * 字符串:按照字典順序比較。按位逐一比較,直到得出大小為止
    2. 類型不同:先進(jìn)行類型轉(zhuǎn)換,再比較
    * ===:全等于。在比較之前,先判斷類型,如果類型不一樣,則直接返回false

  (5) 邏輯運(yùn)算符
  && || !
  * 其他類型轉(zhuǎn)boolean:
  1. number:0或NaN為假,其他為真
  2. string:除了空字符串(""),其他都是true
  3. null&undefined:都是false
  4. 對(duì)象:所有對(duì)象都為true

  (6)三元運(yùn)算符
  ? : 表達(dá)式
  var a = 3;
  var b = 4;

  var c = a > b ? 1:0;
  * 語法:
  * 表達(dá)式? 值1:值2;
  * 判斷表達(dá)式的值,如果是true則取值1,如果是false則取值2;

  <6>流程控制語句:
  1. if...else...
  2. switch:
  * 在java中,switch語句可以接受的數(shù)據(jù)類型: byte int shor char,枚舉(1.5) ,String(1.7)
  * switch(變量):
  case 值:
  * 在JS中,switch語句可以接受任意的原始數(shù)據(jù)類型
  3. while
  4. do...while
  5. for

  <7>JS特殊語法:
    (1)語句以;結(jié)尾,如果一行只有一條語句則 ;可以省略 (不建議)
    (2)變量的定義使用var關(guān)鍵字,也可以不使用
    * : 定義的變量是局部變量
    * 不用:定義的變量是全局變量(不建議)

應(yīng)用案例:9*9乘法表

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><style>td{border: 1px solid;}</style><script>document.write("<table align='center'>");for (var i = 1; i < 10; i++) {document.write("<tr>");for (var j = 1; j <=i ; j++) {document.write("<td>");document.write(i+"*"+j+"="+i*j+"&nbsp;&nbsp;&nbsp;");document.write("</td>");}document.write("</tr>")}document.write("</table>")</script> </head> <body></body> </html>

效果圖:

(2) 基本對(duì)象:
<1> Function:函數(shù)(方法)對(duì)象
  1. 創(chuàng)建:
    1. var fun = new Function(形式參數(shù)列表,方法體); //忘掉吧
    2.
      function 方法名稱(形式參數(shù)列表){
          方法體
      }

    3.
      var 方法名 = function(形式參數(shù)列表){
        方法體
        }
  2. 方法:

  3. 屬性:
    length:代表形參的個(gè)數(shù)
  4. 特點(diǎn):
    1. 方法定義是,形參的類型不用寫,返回值類型也不寫。
    2. 方法是一個(gè)對(duì)象,如果定義名稱相同的方法,會(huì)覆蓋
    3. 在JS中,方法的調(diào)用只與方法的名稱有關(guān),和參數(shù)列表無關(guān)
    4. 在方法聲明中有一個(gè)隱藏的內(nèi)置對(duì)象(數(shù)組),arguments,封裝所有的實(shí)際參數(shù)
  5. 調(diào)用:
    方法名稱(實(shí)際參數(shù)列表);

<2> Array:數(shù)組對(duì)象
  1. 創(chuàng)建:
    1. var arr = new Array(元素列表);
    2. var arr = new Array(默認(rèn)長(zhǎng)度);
    3. var arr = [元素列表];
  2. 方法
    join(參數(shù)):將數(shù)組中的元素按照指定的分隔符拼接為字符串
    push() 向數(shù)組的末尾添加一個(gè)或更多元素,并返回新的長(zhǎng)度。
  3. 屬性
    length:數(shù)組的長(zhǎng)度
  4. 特點(diǎn):
    1. JS中,數(shù)組元素的類型可變的。
    2. JS中,數(shù)組長(zhǎng)度可變的。

<3> Date:日期對(duì)象
  1. 創(chuàng)建:
    var date = new Date();

  2. 方法:
    toLocaleString():返回當(dāng)前date對(duì)象對(duì)應(yīng)的時(shí)間本地字符串格式
    getTime():獲取毫秒值。返回當(dāng)前如期對(duì)象描述的時(shí)間到1970年1月1日零點(diǎn)的毫秒值差

<4>Math:數(shù)學(xué)對(duì)象
  1. 創(chuàng)建:
    * 特點(diǎn):Math對(duì)象不用創(chuàng)建,直接使用。 Math.方法名();

  2. 方法:
    random():返回 0 ~ 1 之間的隨機(jī)數(shù)。 含0不含1
    ceil(x):對(duì)數(shù)進(jìn)行上舍入。
    floor(x):對(duì)數(shù)進(jìn)行下舍入。
    round(x):把數(shù)四舍五入為最接近的整數(shù)。
  3. 屬性:
    PI(圓周率)

<5>RegExp:正則表達(dá)式對(duì)象
  1. 正則表達(dá)式:定義字符串的組成規(guī)則。
    1. 單個(gè)字符:[]
      如: [a] [ab] [a-zA-Z0-9_]
      * 特殊符號(hào)代表特殊含義的單個(gè)字符:
      \d:單個(gè)數(shù)字字符 [0-9]
      \w:單個(gè)單詞字符[a-zA-Z0-9_]
    2. 量詞符號(hào):
      ?:表示出現(xiàn)0次或1次
      *:表示出現(xiàn)0次或多次
      +:出現(xiàn)1次或多次
      {m,n}:表示 m<= 數(shù)量 <= n
      m如果缺省: {,n}:最多n次
      n如果缺省:{m,} 最少m次
    3. 開始結(jié)束符號(hào)
      ^:開始
      $:結(jié)束
  2. 正則對(duì)象:
    1. 創(chuàng)建
      1. var reg = new RegExp("正則表達(dá)式");? 注意:\需要進(jìn)行轉(zhuǎn)義,用\\
      2. var reg = /正則表達(dá)式/;
    2. 方法
      1. test(參數(shù)):驗(yàn)證指定的字符串是否符合正則定義的規(guī)范

?

<6>Global
  1. 特點(diǎn):全局對(duì)象,這個(gè)Global中封裝的方法不需要對(duì)象就可以直接調(diào)用。 方法名();
  2. 方法:
    encodeURI():url編碼
    decodeURI():url解碼

    encodeURIComponent():url編碼,編碼的字符更多
    decodeURIComponent():url解碼

    parseInt():將字符串轉(zhuǎn)為數(shù)字
    ? 逐一判斷每一個(gè)字符是否是數(shù)字,直到不是數(shù)字為止,將前邊數(shù)字部分轉(zhuǎn)為number
    isNaN():判斷一個(gè)值是否是NaN
    NaN六親不認(rèn),連自己都不認(rèn)。NaN參與的==比較全部問false

    eval():講 JavaScript 字符串,并把它作為腳本代碼來執(zhí)行。

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

總結(jié)

以上是生活随笔為你收集整理的04 javascirpt基础知识---听课笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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