數據類型運算符流程控制語句

1. JavaScript 定義了幾種數據類型? 哪些是原始類型?哪些是復雜類型?原始類型和復雜類型的區別是什么?

  • JavaScript的數據類型,共有六種。
    1.數值(number):整數和小數(比如1和3.14)
    2.字符串(string):字符組成的文本(比如"Hello World")
    3.布爾值(boolean):true(真)和false(假)兩個特定值
    4.undefined:表示“未定義”或不存在,即此處目前沒有任何值
    5.null:表示空缺,即此處應該有一個值,但目前為空
    6.對象(object):各種值組成的集合
  • 原始類型:數值、字符串、布爾值
    復雜類型:對象
  • 一個復雜類型往往是多個原始類型的值的合成,可以看作是一個存放各種值的容器,而原始類型最基本的數據類型,不能再細分了。
  • 棧存儲:因為原始類型占據空間固定,是簡單的數據段,為了便于提升變量查詢速度,將其存儲在棧(stack)中,它們的值直接存儲在變量訪問的位置。
    堆存儲:復雜類型其在內存中的大小是未知的,因為復雜類型可以包含任何值,而不是一個特定的已知,所以不能將其存放在棧中,否則會降低變量查詢速度,因此其存儲在堆(heap)中,存儲在變量處的值是一個指針,指向存儲對象的內存處。

2. typeof和instanceof的作用和區別?

  • typeof 運算符可以返回一個值的數據類型,數值、字符串、布爾值分別返回number、string、boolean,函數返回function,undefined返回undefined,除此以外,其他情況都返回object。
  • instanceof 運算符用來判斷一個對象是否是由一個構造函數所創建的實例。

3. 如何判斷一個變量是否是數字、字符串、布爾、函數

typeof 運算符可以判斷一個變量的數據類型,數值、字符串、布爾值分別返回number、string、boolean,函數返回function。

4. NaN是什么? 有什么特別之處?

NaN是Not a Number,表示不是一個數字。NaN和任何值都不相等,包括自己。

5. 如何把非數值轉化為數值?

使用一下三個函數可以把非數值轉化為數值:
1.Number()
2.parseInt()
3.parseFloat()

6. ==與===有什么區別

==是相等運算符,===是嚴格運算符。
==僅會比較值的大小,當類型不相等時javascript會幫我們做類型轉換,而===不僅會比較值的大小,還會比較數據的類型是否相同。NaN和NaN不等。

7. break與continue有什么區別

  • break 用于強制退出循環體,執行循環后面的語句。break關鍵字會使程序跳出switch語句,很多編程規范強調必須添加break,不添加不會有語法錯誤,程序會多次判斷case,進入相應流程。
  • continue 用于退出本次循環,執行下次循環。

8. void 0 和 undefined在使用場景上有什么區別

void運算符的作用是執行一個表達式,然后返回undefined,void 0會返回undefined。
undefined可以被重寫,undefined其實是window的一個屬性,可以給它賦值,這樣undefined就不再是undefined了。

9. 以下代碼的輸出結果是?為什么?

console.log(1+1); 2
//在兩個操作數都是數字的時候,會做加法運算
console.log("2"+"4"); "24"
//兩個參數都是字符串時做字符串拼接
console.log(2+"4"); "24"
//在有一個參數是字符串的情況下會把另外一個參數轉換為字符串做字符串拼接
console.log(+"4"); 4
//在只有一個字符串參數的時候會嘗試將其轉換為數字

10. 以下代碼的輸出結果是?

var a = 1;
a+++a;
typeof a+2;
結果:“number2”
typeof的優先級比加減乘除高。
a+++a與(a++)+a相等,表示a先運算,然后再自增,所以是1+1=2,a變為2,typeof a+2,先運算typeof a返回“number”,再和2拼接。

11. 以下代碼的輸出結果是? 為什么

var a = 1;
var b = 3;
console.log( a+++b );
結果:4
a+++b與(a++)+b相等,表示a先運算,然后在自增,所以是1+3=4,a變為2。

12. 遍歷數組,把數組里的打印數組每一項的平方

var arr = [3,4,5]

var arr = [3,4,5];
var new_arr = [];
for(var i = 0;i<arr.length;i++) {

new_arr[i] = arr[i]*arr[i];

}
console.log(new_arr);

13. 遍歷 JSON, 打印里面的值

var obj = { name: 'hunger', sex: 'male', age: 28 }

var obj = {
name: 'hunger',

sex: 'male',
age: 28

}
for(var keys in obj){
console.log(keys+":"+obj[keys]);
};

14. 以下代碼輸出結果是? 為什么?

var a = 1, b = 2, c = 3; var val = typeof a + b || c >0 console.log(val)
結果:number2
typeof的優先級比加減乘除高
邏輯與、邏輯或優先級很低,不如加減乘除
只要 || 為true,無論 || 后面是true還是false,結果都返回前面的true。
typeof a + b等于(typeof a)+b

var d = 5; var data = d ==5 && console.log('bb') console.log(data)
結果:bb
賦值運算符的優先級相當的低,比相等運算符低。==比&&優先級高
只要&&是false,無論&&后面是true還是false,結果都將返回false。
console.log('bb')為“bb”,(d ==5) && 'bb'返回“bb”,即data = “bb”。

var data2 = d = 0 || console.log('haha') console.log(data2)
結果:haha
0 || console.log('haha')返回“haha”,data2 = d = “haha”由右至左賦值。

var x = !!"Hello" + (!"world", !!"from here!!"); console.log(x)
結果:2
!!"Hello"布爾值為true,!"world"為false,!!"from here!!"為true,true轉換為1,flase轉換為0。即1+(1+0)=2。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,431評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,637評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,555評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,900評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,629評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,976評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,976評論 3 448
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,139評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,686評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,411評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,641評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,129評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,820評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,233評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,567評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,362評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,604評論 2 380

推薦閱讀更多精彩內容