js第一天
1.JS介紹
全稱叫JavaScript,但不是Java,js是一門前臺語言,而Java是后臺語言。
js的作者是布蘭登.艾奇
前臺語言:運行在客戶端的
后臺語言:跟數據庫有關
2.JS可以干什么?
頁面特效,開發頁面游戲,后臺開發等等。
3.JS和ECMAScript之間的關系
ES不是語言,是js的標準,我們學習js得按ES的標準學習
4.前端的三個層次
html 結構層
css 表現層
js 行為層
5.js寫在哪里
因為js和php都是腳本語言,js寫在script這個標簽里,php寫在<?php>標簽里
A.
B.
6.變量
變量:可以改變的量,往往用英文字母代替變量,并且區分大小寫。
變量的定義(聲明):var加字母? ?例如: var? a 我聲明了一個變量叫a
變量的用途:變量其實是一個容器,起到臨時存儲數據的作用。
通過=進行賦值? ?如var a=12;
7.js語言的輸出
alert()這是js中的一個彈出框
console.log()瀏覽器控制臺輸出,用于代碼測試
document.write()在瀏覽器中寫出
8.js的注釋
(1)單行注釋//
(2)多行注釋/*內容*/
9.常量? 不變的量
漢字? 數字往往當做值使用。除了數字之外? 要帶引號"? "
紅色的報錯,說明雅寧是個變量,但是這個變量沒有聲明
說明這個變量沒有賦值
變量起名的規則:不能使用漢字? 區分大小寫? 不能使用特殊符號開頭除了_? ? $
_a? ? √? ?-a? ?×? ? ?a3? √? ? ?3a ×
?帶引號和不帶引號
帶引號的是什么就輸出什么叫字符串? ?---叫字符串
?變量不是字符串? ?變量輸出的是他后面的值? ?如果沒有 賦值就是underfined
帶引號的45是字符串,用+?只是拼接 沒帶的是數字?+是四則運算
Js的關鍵字 ?var
10.js語言的四則運算
?
+
純數字之間就是加法??3+6
和字符串之間???+?就是拼接
-
純數字是減法
和字符串之間???-?還是減
*
純數字還是乘法
和字符串之間?還是乘
/
純數字是除?和字符串還是除
減乘除?三者有隱式轉換的能力。在計算的過程中?將字符串強制轉成了數字。
%
取余數??
數字
整數(整型)和小數(浮點型)
parseInt()?將字符串強制轉換成整型 ?parseFloat()?將字符串強制轉換成浮點型
代碼執行的順序是從上往下。一個模塊一個模塊的執行
變量提升:瀏覽器的功能
JS代碼執行
js代碼執行前,瀏覽器會給他(js)一個全局環境,叫windows(全局作用域)。在window下
瀏覽器找到所有的帶var和function的關鍵字然后給他們分配內存地址。不管你賦值沒賦值,瀏覽器告訴所有的子模塊,這個東西存在了。這種能力叫變量提升。
變量的值
我們學了兩個了,一個是字符串,數字。不管是字符串還是數字,后面的值統統稱為數據。
數據的類型有哪些?
字符串 數字? 數組? ?json? ?對象? ?布爾? ?undefined? ?函數
? ? ? ? 基本和復合
?運算
(1)四則運算:加減乘除在一起,先算乘除后算加減
(2)邏輯運算 或(||)且(&&)非(!)? ? ?結果是布爾? ? ?true和false
(3)比較運算 >>=<<=! (取反)==(雙等號)
? ? ? ? ? ? ?=是賦值運算? 結果是true和false? ???
? ? ? ? ? ? ?===全等? ?數據的類型和值都一樣? ?不全等于!==
? ? ? ? ? ? ?
? ? ? ? ? ? ?雙等號也有隱式轉換的能力
?
js代碼執行前,瀏覽器會給一個全局作用域windows
windows分兩個模塊,一個是存儲模塊,另一個是執行模塊
存儲模塊:查找所有的var和function關鍵字 給這些變量添加內存地址
執行模塊? 代碼從上到下執行,遇到了變量就會去存儲模塊找
有就看賦值有沒有,賦值了就是后面的值,沒有賦值就是undefined
沒有? 結果就是xxx is not defined
?
?
?
?
轉載于:https://www.cnblogs.com/jiangningjn/p/9794092.html
總結
- 上一篇: 记一次面试腾讯的奇葩经历
- 下一篇: Mybatis主线流程源码解析