js基础和运算符
1、什么JavaScript? ? ?運行環(huán)境 : ? ?瀏覽器? ? ? ? ? ? ? ? ?? 是一種具有安全性的客戶端的腳本語言?? ? 用來實現(xiàn)與web頁面交互 腳本語言:語言嵌入到html代碼中 js可以讓頁面中靜止的元素動起來 ??? ?? 2、js的歷史背景(了解) 布萊登.艾奇 JavaScript誕生于1995年。起初它的主要目的是處理以前由服務器端負責的一些表單驗證。在那個絕大多數(shù)用戶都在使用調(diào)制解調(diào)器上網(wǎng)的時代,用戶填寫完一個表單點擊提交,需要等待幾十秒,完了服務器反饋給你說某個地方填錯了......在當時如果能在客戶端完成一些基本的驗證絕對是令人興奮的。當時走在技術(shù)革新最前沿的Netscape(網(wǎng)景)公司,決定著手開發(fā)一種客戶端語言,用來處理這種裝簡單的驗證。當時就職于Netscape公司的布蘭登·艾奇開始著手計劃將1995年2月發(fā)布的LiveScript同時在瀏覽器和服務器中使用。為了趕在發(fā)布日期前完成LiveScript的開發(fā),Netscape與Sun公司成立了一個開發(fā)聯(lián)盟。而此時,Netscape為了搭上媒體熱炒Java的順風車,臨時把LiveScript改名為JavaScript,所以從本質(zhì)上來說JavaScript和Java沒什么關(guān)系 95 -- 網(wǎng)景 ? ? ?liveScript ? ? ?? java ? ? ? ? ? ? ?javascript ? h5 : ?? h5 ?和 js ?關(guān)系 ? : ? 是一樣的 ?目的都是讓靜止的東西動起來 ? ? ?動畫 ? ? ? ? 3、javascript的組成? ECMAScript ? ?歐洲計算機制造商協(xié)會 ? 是一個組織 ? ,用來規(guī)范js語法 ? ES5 ? ES6 BOM? ???? ??? ?? ?文檔對象模型 DOM??? ??? ??? ?? 瀏覽器對象模型 4、javascript ?代碼實現(xiàn) ? 內(nèi)部腳本或外部連接 內(nèi)部引入 1、所有的js代碼必須出現(xiàn)在 <script>標簽內(nèi) ? 初學建議放到 body下面 2、<script>標簽位置任意 除了title標簽內(nèi) ?? 外部引入 3、使用 <script src="路徑"></script> 4、具有src屬性的script標簽內(nèi)js代碼無效 5、javascript的幾個輸出語句 alert() ? 彈出對話框 ? ? 阻塞其他代碼執(zhí)行 ?? console.log() ? ?控制臺輸出 ?用于調(diào)試 alert和?console.log? 換行用“\n” document.write( ?); 在瀏覽器輸出? document.write 可以識別CSS的內(nèi)聯(lián)樣式和HTML標簽的自帶樣式 快捷鍵 : ?ctrl + / 單行注釋 ?? ctrl + shift + / ?多行注釋 ctrl + 上箭頭 ?向上調(diào)整代碼 ? (下箭頭 ?向下調(diào)整代碼) ctrl + D ?刪除一整行? 總結(jié) :? . ? 前面的叫 對象 ??document.write() ???? ??? ???? . ?后面的有括號 叫方法 ?document.write() ? ?? . ?后面沒有括號 ?叫 屬性 6、js中的注釋 // ? 單行注釋 /**/ 多行注釋 7、js中的字面量(常量) ?固定不變的量 數(shù)值number 整數(shù) 十進制整數(shù) ?0--9 ? 90 二進制 ? ? ?0 1 組成 八進制 ? ? ?0--7組成 ? 一般以 ? 0開頭 ? ?076 ?? 十六進制 ? ?0--9 ?a--f ?一般以 0x ? 顏色 : #ffffff ? ?? 小數(shù) ? 字符 ?string 用引號括起來的單個字或多個字以及5位數(shù)以上的數(shù)字串? ? 但是注意 引號嵌套 ? 外面用雙引號,里面就用單引號,反之相反 布爾值 : ?true 真? ? false? 假? ?? 8、js中標識(zhi)符(變量)的命名規(guī)范 ? ? 1、 由 字母 ?數(shù)字 ?下劃線 ? $ ?組成 2、不能用數(shù)字開頭 3、不能用系統(tǒng)指定的關(guān)鍵字 命名? 例如 : ? a3 ? ?sname ? age ? ? -age(錯誤) ? _json ? 5a(錯誤)? 不要情緒化命名 ? 駝峰式命名法 : 小駝峰 ? qianFengJiaoYu ? ? ? ?getElementById() 大駝峰 ? QianFengJiaoYu 匈牙利命名 ?:?? ? iNum = 90 ? oBtn ? ? ? ? object 9、js中的變量 什么是變量 : ?在程序運行的過程中 ?值有可能會發(fā)生變化 10、變量的定義和賦值 var 定義變量 ?(var 可以省略 ?不建議) var num = 90; 定義多個變量時,用逗號隔開 五位數(shù)以上的數(shù)字串用雙引號括起來改成字符串 變量必須先定義 后使用 11、js中輸出結(jié)果時注意幾個問題: 1、如果輸出的是變量 ?不能加引號 2、如果輸出的是字符 , 必須加引號 3、如果輸出的是數(shù)字 , 可以不加引號 4、如果輸出字符和變量,中間必須用 + 連接 12、變量的數(shù)據(jù)類型(重點) 基本數(shù)據(jù)類型 : 字符型 string ?值有多個 數(shù)值型 number ?值有多個 布爾型 ?boolean 值有兩個 ?true 真 ? false ?假 復合數(shù)據(jù)類型(引用數(shù)據(jù)類型,對象數(shù)據(jù)類型) : object 對象 特殊數(shù)據(jù)類型 : undefined ?null ? function ?函數(shù)??? 13、(擴展) 測試變量的數(shù)據(jù)類型 typeof 變量??? ?? ? typeof?typeof( 變量 )? ?結(jié)果都是string typeof( 變量 ) ? ? 值的情況 : string ?number ?boolean ?undefined object ?function ? (沒有null) 14、運算符和表達式 ? ?(重點) 運算符 : 操作運算的符號 ? 表達式 : 一個常量、一個變量、一個式子 都稱為表達式 ? ?? 每一類運算符有哪些?? 每一類運算符對應的表達式?? 每一類運算符對應的表達式的值?? 15、算術(shù)運算符 運算符 : + ?- ?* ?/ ? % ?(二元運算符 ?雙目) ++ ? -- ? ?(一元運算符 ? 單目)?? - ?* ?/ ? % ?運算符對應的表達式值 :? 1、兩側(cè)都是數(shù)值 正常計算 2、有一側(cè)是純數(shù)字字符串 ?字符串自動轉(zhuǎn)換成數(shù)值 ? 正常計算 3、有一側(cè)是非數(shù)字字符串 ?結(jié)果NaN ? NaN : not ?a ?number ? 不是一個數(shù) ?NaN不等于任何數(shù)和他自己 ? % 模運算符 (求余數(shù)):? 1、結(jié)果取決于 "%" 左側(cè)的操作數(shù) 2、大數(shù) % 小數(shù) = 余數(shù)? ?如 5%3=2 3、小數(shù) % 大數(shù) = 小數(shù)(絕對值)??如 3%5=3 4、任何數(shù) % 10 === 個位數(shù) ? + : ?表示 加法運算 和 連接? 數(shù)字和字符串相加 表示 連接?? ? ?100+"10" - 10 ? --> 10000 ? ? ?結(jié)果類型 ?number? 單目 ?++ ?自增 ? ? ?--自減 ? 注意 :自增和自減運算符 操作數(shù)必須是變量 ? ? i++ 或 ++i ? i++和++i的異同: 相同點 : 自增變量的值都會自增1? 不同點 : 表達式的值不同 ? 如果 ++i , 先將自增變量i的值賦值給 j , 然后自增變量i再自增1 (先賦值 ?后自增) 如果 i++? ,先將自增變量i的值自增1,在將自增變量i的值賦值給 整個表達式j(luò) ?? 16、賦值運算符 = ?賦值? 將右側(cè)的值 賦值給 左側(cè)的變量 ? 注意 : = 符號左側(cè)必須是變量? ? ? ? 如? y = 10-x? 復合賦值運算符 : ? += ? ?-= ? ?*= ? /= ? %= ? ? x+=10 ?等價 ?x = x + 10 ? ? 17、關(guān)系運算符 運算符 : ?> ?>= ? < ?<= ? ?==等于 ? ? ?===全等于 ? ? ?!=不等于 ? ? ?!==不全等 表達式 : ?3>4 ? ? 2===3 ? 表達式的值 :? ?表達式成立 為true,不成立 為 false? 表達式值幾種情況 :? 1、兩側(cè)都是數(shù)值 ? 正常比較 2、兩側(cè)都是字符 ? 正常比較 ? ? 根據(jù)字符的ASCII碼 值 進行比較? a--97 ? A--65 ?0--48 往后每個數(shù)加1 3、某一側(cè)是純數(shù)字字符串 ?字符串自動轉(zhuǎn)成數(shù)值? 4、不能正常比較的結(jié)果都是 false == 和 === 區(qū)別 :? == 只比較值是否相等 ?? === ?先 比較類型,再比較值 18、邏輯運算符 運算符 : && 與 ? ?|| 或 ? ?! 非 ? 表達式 (參與邏輯運算的一般為 布爾類型 ) ? ? 3>4 && 6==5 ? ? ?3>4 || 9==9 ? ? ? !true 表達式的值 : && (且) : ? && 兩側(cè)都為真 ?,結(jié)果為true ?, 否則為 false ? ? ? ? ??3>4 && 6==5 --> false? ? ? || ?(或) ? ?: ? ? || ?兩側(cè)都為假 ,結(jié)果為 假 ,否則就為真 ? ? ?3>4 || 9==9 --> ? true !true -->false ? !false--->true ?? 19、條件運算符 (三目運算符) ? ? 運算符 : ? ? ? : 表達式 ?: ?表達式1 ? 表達式2 : ?表達式3 ? ? ? ? ?8<7 ? 89:90 ? ? ? ? ? 10?1:2 表達式的值 : ? 如果表達式1的結(jié)果為真,取 表達式2的值作為整個條件表達式的值 ,否則 取表達式3為整個條件表達式的值 ? 計算機中表示真假的幾種情況 (一般用于判斷中):? 1、非0為真,0為假? 2、所有字符串為真 ? 空串為假 ? ? "" ? ? ? ?""?1:2 ? ?? 3、所有對象為真 4、所有函數(shù)為真 5、null 和 undefined 為假 ?
轉(zhuǎn)載于:https://www.cnblogs.com/tis100204/p/10301935.html
總結(jié)
- 上一篇: IDEA实现到JSTL
- 下一篇: personal-index 我的个人主