a、變數的型別:
一共分7種(6+1)簡單資料型別和複雜資料型別
簡單資料型別(6種):
1、數字型:number
1-1:整型:正整形:i=1; 負整形i=-1;
二進位制賦值:let i=0b101;
八進位制賦值:let i=0o17;
十六進製制賦值:let i=0xf0;
無所謂賦值是哪個進製的,最終都會以十進位制進行計算或輸出
1-2:實數:正實數:i=1.2; 負實數:i=-1.2;
數值比較大的時候,可以用科學計數法 : let i=1.25; i=1.25e+5;
最小值:5e-324; -infinity(負無窮) 最大值:1.7976931348623157e+308; infinity(正無窮)
2、undefined:只有乙個值:undefined(宣告未賦值)
未宣告變數的資料型別為undefined
3、string字串
把內容、值包含在雙引號內 x="ha'ha"
把內容、值包含在單引號內 x='haha'
把內容、值包含在反引號內 x=`ha ha`
4、布林型(boolean):真(true) 假(false) 資料型別為(boolean)
js區分大小寫,所以布林值必須是小寫字母
5、空值
6、symbol(es6新增的資料型別)
代表獨一無二的值,一般用於物件的屬性中
功能:a:可以生成乙個獨一無二的值
常規模式:
格式:關鍵字 變數 = symbol ("");
例: let name = symbol("雙十一主題");
應用場景1:進行網頁維護時(js內容),但由於增加的屬性,可能是原來物件存在的屬性名,這樣就會覆蓋原有屬性的屬性值。
為了減少查詢屬性的工作,我們可以建立乙個symbol變數來實現,相同屬性名,不同屬性值的需求。
symbol變數(屬性)新增
在建立物件時,就新增symbol型別的屬性
1、先宣告乙個symbol的變數
2、在物件中,把這個變數作為屬性名進行新增
並且在這個變數的左右新增中括號
let name = symbol();
let xuechanglong =
//不同變數名,獲取相同symbol值
let s1 =symbol.for("a");
let s2 =symbol.for("a");
let s3 ="";
let s4 ="";
console.log(symbol.keyfor(s1));
console.log(s1==s2);
console.log(s3==s4);
keyfor方法可以通過返回symbol值的註冊資訊
console.log(symbol.keyfor(s1)); //a
注:這個方法只能與以symbol.for建立的變數配合使用
//物件的遍歷
let xuechanglong =
for (let i in xuechanglong)
注:使用for..in是無法獲取symbol值
當symbol.for()不寫註冊資訊和註冊資訊寫undefined是一樣的。
console.log(symbol.for()==symbl.for(undefined)) //true
拓展:isnan is not a number
isnan是乙個判斷,判斷括號的內容,是不是非數字
如果是非數字,就返回true
如果不是非數字,就返回false
es6 新增,除了nan返回true,其他都返回false
複雜資料型別:object
為什麼不報錯
建構函式的內部機制(原理)
json math
string date
正規表示式
理論小知識 MySQL 資料型別
mysql 資料型別 mysql中定義資料欄位的型別對你資料庫的優化是非常重要的。mysql支援多種型別,大致可以分為三類 數值 日期 時間和字串 字元 型別。數值型別 mysql支援所有標準sql數值資料型別。這些型別包括嚴格數值資料型別 integer smallint decimal和nume...
c基礎 理論和資料型別
做乙個自我回顧吧。僅自我複習用。如果有好的想法,或者我所說的出錯了,請提醒下,隨時改正。首先是c中常用的單位從小到大是bit byte mb gb tb eb pb zb c中的資料基本上不是平時理解的那種型別儲存 常見的就是十六進製制和二進位制 關於負數的儲存是有單獨的一套規則具體如下 比如說 1...
資料型別基礎資料型別
資料型別 基礎型別 除八大基礎型別其他的都是引用型資料型別 引用資料型別 基礎資料型別 整型 byte 佔乙個位元組,範圍 128 127 short 佔兩個位元組,範圍 32768 32767 int 最常用 佔四個位元組,範圍 2147483648 2147483647 long 佔八個位元組 ...