Java web之JavaScript

一嫩码、概述與作用

JavaScript(簡稱“JS”) 是一種解釋型或即時編譯型的編程語言蜻牢。
它是一門腳本語言(開發(fā)Web頁面的語言)。

  • 作用:
    1亚茬、驗證數(shù)據(jù)
    2酪耳、加強用戶體驗
    3、增加互動

二刹缝、使用

1碗暗、使用的分類

(1)行內(nèi)(標簽內(nèi))

元素上使用js代碼

(2)內(nèi)部(html內(nèi)任何外置)

html內(nèi)部定義script標簽對,標簽對中定義js代碼

(3)外部(head標簽內(nèi)外連js文件)

外部定義js文件,文件中定義js代碼,在使用的html中使用script標簽對用來引入

2、使用問題

(1)使用位置:

1)任意位置
2)推薦使用位置:
  • head中梢夯,便于后期維護(head中配合window.onload使用言疗,確保加載完成)。
  • body結束前颂砸,頁面所以內(nèi)容加載完成之后噪奄。

(2)使用注意:

  • 一個script標簽不能及用來引入外部js文件,又用來定義js代碼

三死姚、JavaScript數(shù)據(jù)類型

1、基本數(shù)據(jù)類型

(1)Number(控制臺中顯示藍色)

1)Number:表示整數(shù),小數(shù)
2)NaN :表示(not a number)
  • 1.賦值NaN
  • 2.運算無法計算正確的結果

(2)String(控制臺中顯示黑色)

  • 字符串要定義在一對引號當中,''|""都可以

(3)Boolean

  • true | false

(4)Null 類型

  • 1.賦值
  • 2.獲取不到元素

(5)Undefined (指 未定義 的類型)

  • 1.賦值
  • 2.只聲明不賦值存在默認值

2勤篮、復合數(shù)據(jù)類型和函數(shù)類型

(1)對象類型(Object)

  • 對象中的內(nèi)容都是以鍵值對的形式存在的:key:value
  • 多個鍵值對之間使用個逗號進行分隔
  • 最后一個鍵值對后面不需要添加逗號
  • key屬性名,滿足標識符的命名規(guī)范
  • key和value其實都是字符串
  • key如果滿足標識符的命名規(guī)范,前后引號可以省略

(2)函數(shù)類型(方法)

四都毒、類型轉(zhuǎn)換

1、顯示類型轉(zhuǎn)換:

通過其他方式或函數(shù),手動讓數(shù)據(jù)改變其類型(注意:js中對象類型和函數(shù)類型不參與類型轉(zhuǎn))

  • 任意類型都可以轉(zhuǎn)換以下三種類型
    String(數(shù)據(jù))
    Number(數(shù)據(jù))
    Boolean(數(shù)據(jù))

2碰缔、隱式類型轉(zhuǎn)換

目的不是為改變數(shù)據(jù)的類型,但是執(zhí)行過程中會隱式改變類型(+ - * / ..)

五账劲、運算符

1丁眼、+ 運算符

字符串的連接符使用

2晨汹、= == === 之間的區(qū)別:

  • = 賦值
  • == 比較數(shù)據(jù)是否相同
  • === 比較數(shù)據(jù)和類型是否都相等(先比較類型,后比值)

3蚁孔、恶耽!運算符

! 非 取反
!! 不變
!!!取反

4象浑、邏輯運算符: && ||

  • java中邏輯運算符兩邊的操作數(shù)必須為boolean類型的
  • js中中邏輯運算符兩邊的操作數(shù)可以都是boolean,也可以有其他類型的數(shù)據(jù)參與,如果有, 結果肯定為其中一個操作數(shù)

(1)&& 一個為false就是false

第一個操作數(shù)轉(zhuǎn)為boolean,為false,結果就為第一個操作數(shù)的值為true,,結果就為第二個操作數(shù)的值

(2)|| 一個為true就是true

第一個操作數(shù)轉(zhuǎn)為boolean,為true,結果就為第一個操作數(shù)的值為false,結果就為第二個操作數(shù)的值

5榴捡、{} 塊

  • java中{}自成作用域
  • js中塊不是作用域,作用域在js中之間函數(shù)function

六克懊、數(shù)組與數(shù)組方法

1秸妥、數(shù)組

(1)數(shù)組的屬性

  • 可以存儲任意個任意類型的數(shù)據(jù),長度可變
  • 數(shù)組有序: 索引順序 從0開始
  • 根據(jù)索引操作數(shù)組,當索引非0~n的整數(shù),作為數(shù)組的自定義屬性

(2)創(chuàng)建數(shù)組的方式:

  • new Array(); 構建一個空的新數(shù)組
  • new Array(數(shù)據(jù)1,數(shù)據(jù)2..) 創(chuàng)建的同時賦值
  • [數(shù)據(jù)1,數(shù)據(jù)2...] 字面量的創(chuàng)建方式 --推薦

(3)數(shù)組的遍歷:

  • 1.普通for
  • 2.for .. in
  • 3.foreach

2统捶、數(shù)組常用方法

(1)slice 截扔苈(切片數(shù)組,原數(shù)組不發(fā)生變化)

  • 一個參數(shù) 作為起始索引,從參數(shù)索引位置開始,截取到最后,返回
  • 兩個參數(shù) 第一個參數(shù)作為其實索引,第二個參數(shù)結束索引,結束索引不包含

(2)splice 剪接數(shù)組(原數(shù)組變化喘鸟,可以實現(xiàn)前后刪除效果 )

  • 一個參數(shù) 作為起始索引,從參數(shù)索引位置開始,截取到最后,返回,原數(shù)組為截取后剩下的
  • 兩個參數(shù) 第一個參數(shù)作為其實索引,第二個參數(shù)作為個數(shù)
  • 3~n個參數(shù) 重第一個參數(shù)位置開始,拿第二個參數(shù)個,替換成為第三個參數(shù)及以后的數(shù)據(jù)

七匆绣、函數(shù)及注意事項

1、函數(shù)

1)函數(shù)聲明
                function 函數(shù)名 (參數(shù)列表) {
                    函數(shù)體;
                    [return 返回值;]
                }
2)函數(shù)調(diào)用:
    1. 函數(shù)名(實參);
    1. 轉(zhuǎn)換函數(shù)表達式,在最后添加()自執(zhí)行(在函數(shù)聲明的前面添加~|!|+|-什黑,在函數(shù)聲明天后添加()包裹)
2)函數(shù)表達式的方式
                var 變量名 = function 函數(shù)名 (參數(shù)列表) {
                    函數(shù)體;
                    [return 返回值;]
                };

函數(shù)名一般省略,不可以通過函數(shù)進行調(diào)用,只能通過變量名,函數(shù)名可以在函數(shù)內(nèi)部進行遞歸使用

2)函數(shù)表達式的調(diào)用:
  • 1.通過變量名調(diào)用 變量名(參數(shù));
  • 2.函數(shù)表達式最后添加(),直接直接這個函數(shù),自執(zhí)行

注意:參數(shù)省略var關鍵字

(2)函數(shù)的注意事項

  • 函數(shù)的作用域提升:只有函數(shù)聲明的方式才有函數(shù)作用域的提升,函數(shù)表達式?jīng)]有,提升到當前作用域的最上面

  • 若函數(shù)形參同名(一般不會這么做)崎淳,在使用時以最后一個值為準。

  • 函數(shù)的參數(shù)可以定義默認值

  • 值傳遞

    var num = 12;
    function change(n) {
      n = 30;
    }
    change(12);
    console.log('值傳遞-----' + num);  //12 
    
  • 引用傳遞

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末愕把,一起剝皮案震驚了整個濱河市拣凹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌恨豁,老刑警劉巖嚣镜,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異橘蜜,居然都是意外死亡菊匿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門计福,熙熙樓的掌柜王于貴愁眉苦臉地迎上來跌捆,“玉大人,你說我怎么就攤上這事象颖∨搴瘢” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵力麸,是天一觀的道長可款。 經(jīng)常有香客問我,道長克蚂,這世上最難降的妖魔是什么闺鲸? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮埃叭,結果婚禮上摸恍,老公的妹妹穿的比我還像新娘。我一直安慰自己赤屋,他們只是感情好立镶,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著类早,像睡著了一般媚媒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涩僻,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天缭召,我揣著相機與錄音,去河邊找鬼逆日。 笑死嵌巷,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的室抽。 我是一名探鬼主播搪哪,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼坪圾!你這毒婦竟也來了晓折?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤神年,失蹤者是張志新(化名)和其女友劉穎已维,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體已日,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡垛耳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了飘千。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堂鲜。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖护奈,靈堂內(nèi)的尸體忽然破棺而出缔莲,到底是詐尸還是另有隱情,我是刑警寧澤霉旗,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布痴奏,位于F島的核電站蛀骇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏读拆。R本人自食惡果不足惜擅憔,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望檐晕。 院中可真熱鬧暑诸,春花似錦、人聲如沸辟灰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芥喇。三九已至西采,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間继控,已是汗流浹背苛让。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留湿诊,地道東北人狱杰。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像厅须,于是被迫代替她去往敵國和親仿畸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,219評論 0 4
  • JavaScript語言精粹 前言 約定:=> 表示參考相關文章或書籍; JS是JavaScript的縮寫朗和。 本書...
    微笑的AK47閱讀 578評論 0 3
  • ??引用類型的值(對象)是引用類型的一個實例眶拉。 ??在 ECMAscript 中千埃,引用類型是一種數(shù)據(jù)結構,用于將數(shù)...
    霜天曉閱讀 1,045評論 0 1
  • 概要 64學時 3.5學分 章節(jié)安排 電子商務網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,146評論 0 3
  • 是什么 一門腳本語言 一門解釋型語言 動態(tài)類型語言 基于對象的語言 弱類型語言 使用場景 網(wǎng)頁特效 服務端開發(fā) 命...
    琿_cysky2018閱讀 423評論 0 0