重新鞏固js系列,都是比較基礎的東西,可以進行查漏補缺,很快看完,這是第一篇。
其他js重新鞏固系列:
在程式設計領域中,資料型別(data type)用來將變數的值(value)進行分類,這樣在對變數的值進行數學、關係、邏輯等運算時就不會產生錯誤了。例如:2 * 2
是合法的,2 * john
就不合法了。
js中的基本型別分為原始型別和物件型別兩種。
原始型別(6種):number、string、boolean、symbol、null、undefined
。
採用標準:不區分整數和浮點數,所有數值都用浮點數表示,採用ieee 754標準定義的64位浮點格式。
整數:範圍是-2 ^53 ~ 2^53
,有十進位制,二進位制(binary,以0b
為字首,之後的值由0~1
組成)、八進位制(octal,以0o
為字首,之後的值由0~7
組成,注:不推薦以0為字首的表示法)、十六進製制(hexadecimal,以0x
為字首,之後的值由0~9
和a~f
(10~15)組成)表示。例如:
//二進位制
0b11
//合法
0b22 //不合法
//八進位制
0o67
//合法
0o89 //不合法
//十六進製制
0xaf
//合法
0xjk //不合法
複製**
浮點數:數值中必須包含乙個小數點,小數點後至少要有一位數字,浮點數計算可能會有誤差,對於極大或極小的數值可以用e
表示法,例如:
//存在誤差
0.1 + 0.2 = 0.30000000000000004
//e表示法
3.14e5
//即為314000
複製**
特殊數值,主要來自:全域性直接量(無窮大infinity
、非數字nan
)、number物件的屬性(number.max_value
、number.min_value
等)、math物件(math.pi
,math.e
等)的屬性等。
採用標準:用來表示文字,由0個或多個16位unicode字元組成的字串行。
可以使用單引號或者雙引號(效果一樣,必須成對出現),在js**中經常會出現html字串,由於html標籤中的屬性值推薦的是雙引號,所以js字串推薦使用單引號,例如:
let imgel = '複製**
索引從0開始,長度是字元的個數。
let str = 'hello world'
str.length // => 11
str[0] // => 'h'
複製**
字串不能直接換行,如果想拆分成多行,需要在每行的結尾新增反斜槓\
,輸出的結果還是單行。
// 錯誤寫法
'abc'
//正確寫法
let str = 'multiple\
lines\
end'
str // => 'multiplelinesend'
複製**
轉義字元:反斜槓後加乙個字元表示轉義字元,比如\n
表示換行符,如果斜槓後面的字元沒有特殊含義,則忽略斜槓。常見轉義字元:
字元含義
\n
換行
\\
斜槓
\'
單引號,在用單引號表示的字串中使用
\"
雙引號,在用雙引號表示的字串中使用
\xnn
十六進製制**表示的乙個字元(其中n為0~f)。例如,\x41
表示'a'
\unnnn
十六進製制**表示的unicode字元(其中n為0~f)。例如,\u03a3
表示希臘字元'∑'
模板字串(es6新增):使用反引號(重音符," ` "
),裡面的變數使用${}
包裹,可以直接換行。
let name = 'cc'
name // => 'cc'
`hello, $`
//=> 'hello, cc'
複製**
用來表示真或假,開或關等含義。
只有兩種值:true
和false
,通常用於if/else語句
中,若為true則執行if語句中的邏輯,否則執行else裡面的邏輯。
if( status === 'open') else
複製**
假值和真值:js中任意值都可以轉換為布林值。一共6個值(undefined、null、0、-0、nan、""
)會被轉換成false,其他值都是true 。
可用作物件的非字串屬性,它是唯一且不可變的,例如:
let uniquename = symbol();
let person = {};
person[uniquename] = 'cc';
console.log(person[uniquename]); // => cc
複製**
(備註:後期詳細講解)
表示未定義或不存在,只有乙個值undefined。
let abc;
console.log(abc); // => undefined
console.log(abcd); //報錯,注意未賦值和未宣告的區別
let obj = {};
console.log(obj.name) // => undefined
複製**
表示空值,null型別只有乙個值null。如果定義乙個變數來表示乙個物件的話,宣告時推薦將其設定為null。
let obj = null;
obj =
複製**
除了原始型別的值以外,其他都是物件。物件是鍵值對的集合,值可以是原始值,也可以是物件。例如:
//author物件:有name屬性,值為'cc',還有age屬性,值為100
let author =
複製**
特殊物件:函式 function
、陣列 array
、日期 date
、正則 regexp
、全域性 global
、錯誤 error
。 (備註:後期單獨詳細講解)
可以使用typeof操作符來檢測變數的資料型別,它返回的值為乙個小寫的字串。
變數abc的取值
typeof abc 的結果
let abc;
'undefined'
let abc = true;
'boolean'
let abc = 123;
'number'
let abc = 'abc';
'string'
let abc = function () {};
'function'
let abc = {}; //、null
'object'
let abc = symbol();
'symbol'
說明:整理自網易公開課。
鞏固js(一)詞法結構 保留字一
break delete function return typeof case do if switch var catch else in this 單出乙個討論 void continue false instanceof throw while debugger finally new tr...
JS今天又鞏固了一點
1 undefined和null undefined三種情況 三種情況 宣告而未賦值 宣告而賦值為undefined 未宣告而typeof null表示宣告了,賦值,值為null 特殊的是null undefined 2 js無過載,函式名只能有乙個,多次宣告會覆蓋 3 switch 中的值可以是變...
鞏固與修煉(一)
總結一下這兩天的學習過程 昨天研究了tensorflow映象,並根據官方映象修改了jupyter notebook中的檔案目錄與預設密碼的修改 注 這裡從嘗試使用指令碼來完成,結果失敗,由於需要使用python,在開啟的命令中設定密碼,並將生成的hash鍵值即sha1值提取 這裡失敗了好久好久 並將...