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...