js複習筆記(一)

2021-08-21 18:29:36 字數 3333 閱讀 2877

1. js僅在不加分號無法解析的情況下才自動新增

var aa=

3console.log(a)

將會被解析為:

var a

;a = 3

;console.log(a);

2. 不新增「;」可能導致錯誤
var y =x + f

(a+b).tostring()

會被解析為:

var y =x + f(a+b).tostring()
3. 在預設情況下的解析情況:
return、break、continue和之後的表示式不能換行,否則會在前者關鍵字後新增;

字首,字尾運算子的解析:字尾運算子應與表示式處於同一行,

x++

y

將被解析為x;++y
原始型別:數字、字串、布林值、null、undefined

1. 數字:

較為複雜的運算定義在math物件中

預定義了全域性變數nan,infinity(es5唯讀,不可修改)

對於nan的判斷,應該用x!=x,僅當x等於nan為真,其中nan!=nan

js的計算精度問題:.3-.2 != .2 - .1

日期中,date().getmonth(),[0,1,2,3,4,5,6]對應[「日」,」一」,」二」,」三」,」四」,」五」,」六」]

2. 文字:

注意對特殊字元的轉義,例如在字串中含有can』t應注意寫為can\』t

一些特殊的轉義字元,\n,\t,\\等

字串的幾種方法:length、charat、slice、indexof、split、lastindexof、substring,touppercase,tolowercase,replace

正則匹配,regexp(重點)

3. 布林值:

flase轉換:undefined、null、0、-0、nan、」「

\==與===的區別

4. null和undefined:

type of null => object

type of undefined => undefined

兩者區分要用嚴格判等符 ===

5. 全域性物件:

在讀取字串、數字、布林值的屬性值時表現得像物件,但是為其屬性賦值則會忽略

型別轉換:

1. 隱式示例:

10 + "objects" => "10 objects"

"7"*"4" => 28

"5"+4 => "54"

var n = 1 - "x" => nan

n + "objects" => "nan objects"

+"5"=> 5

2. 顯示轉換:

慣用寫法:

x + "" => string(x)

+x => number(x)

!!x => boolean(x)

3. 進製的轉換:
var n = 17;

n.tostring(2) // => 10001 轉換為2進製

"0x" + n.tostring(16) // => 0x11

4. 利用全域性函式parseint()、parsefloat()進行解析

此種方式會跳過任意數量前置空格,並且解析盡可能多的數值字元

parseint("3 build mice") // => 3

parseint("3.14 meters") // => 3.14

parseint(".1") // => nan

parsefloat(".1") // => nan

parseint還可以接受第二個可選引數、指定數字轉換的基數,合法取值為2~36

5.所有的物件均轉換為true,new boolean(false)同樣轉換為true

變數宣告:

1. var宣告,全域性變數、區域性變數

2. 變數宣告提前(不賦值)

var scope = "global";

function f()

在這段**中,由於宣告提前,scope不再是全域性變數了,該**與下面**效果相同

var scope = "global";

function f()

表示式型別:

1.原始表示式:

2. 物件及陣列初始化表示式

3. 函式表示式

var f = function

(x)

4. 屬性訪問表示式

5. 呼叫表示式

6. 物件建立表示式

7. 算術表示式

var a = 1,b;

b = (a++)+a // => b=2

/* 過程為,計算b,計算a++(設值為c),計算a,計算a+c,將值賦給b

*/

"1"

< "2" => true

"11"

< 2 => false

"11"

< "2" => true

var point = ;

x in point; //

=>

true

z in point;//

=>

false

"tostring"

in point; //

=>

true 繼承自object

var data = [4,5,6]

1in data; //

=>

true

1被轉換為"1",陣列包含索引1

"0"in data; //

=>

true

5in data; //

=>

false 陣列不包含索引5的元素

x

typeof x

undefined

「undefined」

null

「object」

true or flase

「boolean」

任意數字、nan

「number」

任意字串

「string」

任意函式

「function」

任意內建物件

「object」

任意宿主物件

由編譯器中自己實現的字串,非基本型別

js複習筆記

isnan x 1.判斷結果不是純數字,var a 1234 var b isnan a b是 false 因為a是純數字 var a abc123 var b isnan a b是 true 因為a不是純數字 match abcd 1.判斷該字串中是否包含 abcd undefined是訪問乙個未...

javascript複習筆記一

ecmascript 中有5 種簡單資料型別 也稱為基本資料型別 undefined null boolean number 和string。還有1 種複雜資料型別 object,object 本質上是由一組無序的名值對組成的 nan,即非數值 not a number 是乙個特殊的數值,這個數值用...

python複習筆記(一)

一 問題獲取 今天在網上閒逛的時候,偶然看到了乙個系類教程python快速教程,點進去看看別人的心得經驗,順便鞏固一下python基礎知識,看到python標準庫01 正規表示式 re包 的時候,下邊有乙個小小的練習,順手一做並記錄下來。題目如下 練習 有乙個檔案,檔名為output 1981.10...