javascript
前端基础之JavaScript_1(二)
繼上篇:
3、JavaScript運算符
①:比較運算符:
> >= < <= != == === !== 大于 大于等于 小于 小于等于 不等于 弱等于 強等于 強不等于注意:
1 == “1” // true 弱等于 1 === "1" // false 強等于/*上面這張情況出現的原因在于JS是一門弱類型語言(會自動轉換數據類型),所以當你用兩個等號進行比較時,JS內部會自動先將數 值類型的1轉換成字符串類型的1再進行比較,所以我們以后寫JS涉及到比較時盡量用三等號來強制限制類型,防止判斷錯誤、 */②:邏輯運算符:
&& || ! 與 或 非 and or not③:賦值運算符:
= += -= *= /=④:算數運算符:
+ - * / % ++ --需要注意的:
--------------------------------------------------------------------注:如果你對python感興趣,我這有個學習Python基地,里面有很多學習資料,感興趣的+Q群:895817687 --------------------------------------------------------------------var x = 10;var res1 = x++;var res2 = ++x;res1;>10res2;>12解析:res1=x++是先將x賦值給res1,然后x++自增長1res2=++x,上面x自增長了1,所以是11,然后++x是先自增長1變成12,再將其賦值給res2,所以res2為124、JavaScript流程控制
#1: if>>else
#3: switch
#4: for
#5: while
#6: 三元運算
5、JavaScript函數
JavaScript中的函數定義方式:
- 幾種常見的函數形式:
- 特殊函數形式:
函數的全局變量和局部變量
局部變量:在JavaScript的函數內部聲明的變量(使用var)是局部變量,所以只能在函數內部訪問它,只要函數運行完畢,本地變量就會被刪除。
全局變量:在函數外面聲明的變量就是全局變量,網頁上的所有腳本和函數都能訪問和使用它。
變量生成的周期:
JavaScript的變量的生命期是從他們被聲明的時候開始的。
局部變量會在函數運行以后刪除。
全局變量會在頁面關閉后刪除。
作用域:在函數內部查找變量,找不到則到外層全局作用域去找,逐步找到最外層。(下面通過幾個例子來了解JavaScript的全局變量和局部變量的含義)
6、JavaScript詞法分析(了解知識點)
avaScript中在調用函數的那一瞬間,會先進行詞法分析。詞法分析的過程:當函數調用的前一瞬間,會先形成一個激活對象:Avtive Object(AO),并會分析以下3個方面:1:函數參數,如果有,則將此參數賦值給AO,且值為undefined。如果沒有,則不做任何操作。 2:函數局部變量,如果AO上有同名的值,則不做任何操作。如果沒有,則將此變量賦值給AO,并且值為undefined。 3:函數聲明,如果AO上有,則會將AO上的對象覆蓋。如果沒有,則不做任何操作。函數內部無論是使用參數還是使用局部變量都到AO上找。看兩個例子:第一題: var age = 18; function foo(){console.log(age);var age = 22;console.log(age); } foo(); // 問:執行foo()之后的結果是?(22)第二題: var age = 18; function foo(){console.log(age);var age = 22;console.log(age);function age(){console.log("呵呵");}console.log(age); } foo(); // 執行后的結果是?(22) 詞法分析過程: 1、分析參數,有一個參數,形成一個 AO.age=undefine; 2、分析變量聲明,有一個 var age, 發現 AO 上面已經有一個 AO.age,因此不做任何處理 3、分析函數聲明,有一個 function age(){...} 聲明, 則把原有的 age 覆蓋成 AO.age=function(){...};最終,AO上的屬性只有一個age,并且值為一個函數聲明執行過程: 注意:執行過程中所有的值都是從AO對象上去尋找1、執行第一個 console.log(age) 時,此時的 AO.age 是一個函數,所以第一個輸出的一個函數 2、這句 var age=22; 是對 AO.age 的屬性賦值, 此時AO.age=22 ,所以在第二個輸出的是 2 3、同理第三個輸出的還是22, 因為中間再沒有改變age值的語句了7、JavaScript內置對象
在JavaScript中,所有的事物都是對象:字符串、數字、數字、日期…等等。在JavaScript中對象是擁有屬性和方法的數據。
# 自定義對象:JavaScript中的對象本質上是鍵值對的集合(Hash結構),但是只能用字符串作為key.
- 創建對象:
- 拓展:
- Date對象:
Date對象的方法:
var d = new Date();d.getDate(); //獲取當前日(今天多少號) d.getDay(); //獲取星期(比如從星期天到星期六依次是0-6) d.getMonth(); //獲取月份數(0-11,0是一月,11是12月,依次類推) d.getFullYear(); //獲取完整的年份2019 d.getYear(); //獲取年119 d.getHours(); //獲取小時15 d.getMinutes(); //獲取分鐘22 d.getSeconds(); //獲取秒53 d.getMilliseconds(); //獲取毫秒513 d.getTime(); //返回累計毫秒數(從1970/1/1午夜)1559373773513應用:將當前日期按照‘2019-12-27 11:11 星期三’格式輸出
const WEEKMAP = { 0:'星期天', 1:'星期一', 2:'星期二', 3:'星期三', 4:'星期四', 5:'星期五', 6:'星期六'};function showTime() {var y1 = d.getFullYear();var m1 = d.getMonth()+1;var d1 = d.getDate();var h1 = d.getHours();var mm1 = d.getMinutes() < 10 ? '0'+d.getMinutes():d.getMinutes();var w1 = WEEKMAP[d.getDay()];my_time = `${y1}-${m1}-${d1} ${h1}:${mm1} ${w1}`;console.log(my_time) };showTime(); 2019-6-1 15:41 星期六JSON對象:
RegExp對象(正則對象):
Math對象(拓展知識)
abs(x) 返回數的絕對值。 exp(x) 返回 e 的指數。 floor(x) 對數進行下舍入。 log(x) 返回數的自然對數(底為e)。 max(x,y) 返回 x 和 y 中的最高值。 min(x,y) 返回 x 和 y 中的最低值。 pow(x,y) 返回 x 的 y 次冪。 random() 返回 0 ~ 1 之間的隨機數。 round(x) 把數四舍五入為最接近的整數。 sin(x) 返回數的正弦。 sqrt(x) 返回數的平方根。 tan(x) 返回角的正切。總結
以上是生活随笔為你收集整理的前端基础之JavaScript_1(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端基础之JavaScript_1(一)
- 下一篇: 前端基础之JavaScript_2