JavaScript筆記1 JS語法

2021-08-31 03:35:46 字數 2413 閱讀 5381

1.完整的js是由三個部分組成的

(1)ecmascript:提供核心語言功能,也就是語法,區分大小寫的

(2)dom:提供訪問和操作網頁內容的方法和介面

(3)bom(browser objects):提供與瀏覽器互動的方法和介面

2.js的識別符號:

定義:變數、函式、屬性的名字,或者函式的引數。

識別符號的命名規則:

(1)由字母、數字、下劃線(_)或美元符號($)組成

(2)不能以數字開頭

(3)不能使用關鍵字、保留字等作為識別符號

3.js的資料型別

(1)console.log();在控制台中列印

typeof();測試變數型別

console.log(typeof(name));在控制台中列印

變數name的型別

(2)number:表示整數和浮點數

nan:即非數值(not a number)

說明:1)任何涉及nan操作(如nan/10)都會返回nan

2)nan與任何值都不相等,包括nan本身

isnan(n)函式:檢測引數n是否為「非數值」,返回值為boolean

說明:isnan()對接收的數值,先嘗試轉換為數值,再檢測是否為數值。所以,isnan("16")返回值為false

3) 把非數值轉換為數值型別:number()、parseint()、parsefloat()

說明:number()可以用於任何資料型別,如果遇到強行轉換字串,則結果是nan;parseint()和parsefloat()則專門用於把字串轉換成數值。

parseint():會忽略字串前面的空格,直至找到第乙個非空格字元,常用於提取整數。

說明:parseint():轉換空字串或者開頭為非數字時,返回nan;parseint()這個函式提供第二個引數的含義:進製轉換,如parseint("oxf",16)=15

parsefloat():從第乙個字元開始解析每個字元,直至遇見乙個無效的浮點數字元為止。

說明:即第乙個小數點有效;parseint()始終都會忽略前導的零,而parsefloat()可以提取出小於1的小數。

parsefloat("12.34.56px")=12.34

parseint("12.34.56px")=12

parsefloat("0.12px")=0.12

parseint("0.12px")=0

(3)str.tostring():將str(可以是數值、布林值、物件和字串)轉換為字串

說明:在不知道要轉換的值是不是null或undefined的情況下,還可以使用string()函式,它能夠將任何型別的值轉換為字串。

(4)boolean(x):將x轉換為布林型

除0之外的所有數字,轉換為布林型都為true;除""(空的)之外的所有字元,轉換為布林型都為true;null和undefined轉換為布林型為false

4.js算數操作符

(1)算術操作符:+、-、*、/、%、遞增、遞減

遞增:++a或a++

區別:++a是先返回遞增之後的a的值,a++是先返回a的原值,再返回遞增之後的值,例:

num1=10,num2=5,num3=++num1-num2;結果num1=11,num3=6

num1=10,num2=5,num3=num1++-num2;結果num1=11,num3=5

(2)邏輯操作符:&&、||、!(非)

1)&&與(只要有乙個條件不成立,返回false )

說明:在有乙個運算元不是布林值的情況,邏輯與操作就不一定返回值,此時它遵循下列規則:

如果第乙個運算元隱式型別轉換後為true ,則返回第二個運算元。如80&&55=55;"hello"&&65&"abc"=abc;

如果第乙個運算元隱式型別轉換後為false,則返回第乙個運算元。如0&&88=false;null&&5=null

2)||或(只要有乙個條件成立,返回true)

說明:在有乙個運算元不是布林值的情況,邏輯與操作就不一定返回值,此時它遵循下列規則:

如果第乙個運算元隱式型別轉換後為true,則返回第乙個運算元。如"hello"||0=hello;

如果第乙個運算元隱式型別轉換後為false ,則返回第二個運算元。如0||""||"abc"=abc;

(3)賦值操作符:=、+=、-=、*=、/=、%= 

(4)比較操作符:>、=、<=、==(只比較數值)、===(比較數值和型別)、!=、!==

(5)三元操作符:

語法:條件?執行**1:執行**2

說明:可代替簡單的if語句,如果條件成立,執行**1,否則執行**2

例:var soce=85;var result=(soce>=60)?"及格":"不及格";

js常用方法 1 js深拷貝

什麼是js深拷貝?當每個物件的值都指向同乙個堆記憶體,這樣的話不便於我們做操作,所以誕生了js深拷貝 深拷貝作用在引用型別上,例如 object,array 深拷貝不會拷貝引用型別的引用,而是將引用型別的值全部拷貝乙份,形成乙個新的引用型別,這樣就不會發生引用錯亂的問題,使得我們可以多次使用同樣的資...

前端面試總結(1) JS篇

因為各種原因,今年過年來就提離職了,又要開始面試了,心裡還是比較慌的,面試了兩三周的樣子,總共面試了10家左右大大小小的公司,中途拿到了幾個offer,但是因為不太滿意拒絕了,拒絕之後壓力更大了啊o o。不過在三月初拿到了hin滿意的offer!在這裡總結下我的面試經驗,希望能幫助到正在找工作的你們...

演算法系列1 js陣列排序

請把兩個陣列 a1 a2 b1 b2 c1 c2 d1 d2 和 a b c d 合併為 a1 a2 a b1 b2 b c1 c2 c d1 d2 d 自己研究的解法 var a a1 a2 b1 b2 c1 c2 d1 d2 var b a b c d for var i 0 i b.lengt...