數(shù)據(jù)類型 運算符

1. JavaScript 定義了幾種數(shù)據(jù)類型? 哪些是原始類型?哪些是復(fù)雜類型?原始類型和復(fù)雜類型的區(qū)別是什么?

  • JavaScript數(shù)據(jù)類型
    • 數(shù)值 number:整數(shù)和小數(shù)
    • 字符串 string:字符組成的文本
    • 布爾值 boolean:true和false
    • undefined:undefined 表示根本不存在定義
    • null:null 表示一個值被定義了村缸,定義為“空值”
    • 對象 object:各種值組成的集合
    • symbol
  • 原始類型:number, string, boolean
  • 復(fù)雜類型:object
    區(qū)別:復(fù)雜類型是多個原始類型的值的集合霎肯,可以看作是一個存放各種原始類型值的容器
    undefined與null的區(qū)別

2. typeof和instanceof的作用和區(qū)別?

  • typeof 返回 這個變量的數(shù)據(jù)類型(number蹋砚、string灰追、boolean
    病往、function谣光、undefined弹谁,數(shù)組/對象返回object)
  • instanceof返回true\false
    instanceof只能用來判斷對象和函數(shù)茸塞,不能用來判斷字符串和數(shù)字等
var b = '123';
alert(b instanceof String);  //false
alert(typeof b);  //string

var c = new String("123");
alert(c instanceof String);  //true
alert(typeof c);  //object

var b = [];
alert(b instanceof Array);  //true

http://blog.csdn.net/u014421556/article/details/52083215

3. 如何判斷一個變量是否是數(shù)字野瘦、字符串描沟、布爾、函數(shù)

用typeof 鞭光,如

var a="666";
typeof a === string; //true

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

表示非數(shù)字,屬于number類型/
1/0
任何數(shù)跟它都不相等吏廉,包括它自己。

5. 如何把非數(shù)值轉(zhuǎn)化為數(shù)值?

使用函數(shù) Number(), parseInt(), parseFloat() 可以將非數(shù)值轉(zhuǎn)換為數(shù)值惰许。

var a="efd3215.25"
console.log(Number(a)); //NaN
console.log(parseInt(a)); //NaN
console.log(parseFloat(a)); //NaN

var b="846.5dfef"
console.log(Number(b)); //NaN
console.log(parseInt(b)); //846
console.log(parseFloat(b)); //846.5

使用規(guī)則參考

6. ==與===有什么區(qū)別

===表示全等:操作數(shù)必須是同一類型席覆,才進一步比較
==: 如果操作數(shù)類型不同,會在轉(zhuǎn)換類型后進行比較

7. break與continue有什么區(qū)別

break:表示強制退出循環(huán)體啡省,執(zhí)行循環(huán)體后面的語句
continue:表示退出本次循環(huán)過程娜睛,即循環(huán)體中continue后面的語句停止執(zhí)行髓霞,直接進入下次循環(huán)

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

ES5之后的標(biāo)準(zhǔn)中,規(guī)定了全局變量下的undefined值為只讀畦戒,不可改寫的方库,但是局部變量中依然可以對之進行改寫。(非嚴(yán)格模式下)

undefined =123;
console.log(undefined);  //undefined

(function(){
    var undefined = 123;
    console.log(undefined);  //123
})()

void的返回值都是undefined障斋,
所以用void 0是為了防止undefined被重寫而出現(xiàn)判斷不準(zhǔn)確的情況纵潦。

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

console.log(1+1);    // 2
console.log("2"+"4");   //24
console.log(2+"4");   // 24
console.log(+"4");  //4
  • 在兩個操作數(shù)都是數(shù)字的時候,會做加法運算
  • 兩個參數(shù)都是字符串或在有一個參數(shù)是字符串的情況下會把另外一個參數(shù)轉(zhuǎn)換為字符串做字符串拼接
  • 在參數(shù)有對象的情況下會調(diào)用其valueOf或toString
  • 在只有一個字符串參數(shù)的時候會嘗試將其轉(zhuǎn)換為數(shù)字
  • 在只有一個數(shù)字參數(shù)的時候返回其正數(shù)值
  1. 以下代碼的輸出結(jié)果是?
var a = 1;  
a+++a;  //(a++)+a ==> 1+2 ==> 3
typeof a+2; //(typeof a)+2 =>"number"+2 => number2
  1. 以下代碼的輸出結(jié)果是? 為什么
 var a = 1;
 var b = 3;
 console.log( a+++b ); // (a++)+b  => 4   
// 先用a的值垃环,a再自加1邀层。 ++的優(yōu)先級比+高
  1. 遍歷數(shù)組,把數(shù)組里的打印數(shù)組每一項的平方
 var arr = [3,4,5]
for(i=0; i<arr.length; i++){
      console.log(arr[i]*arr[i]);
}
  1. 遍歷 JSON, 打印里面的值
var obj = {
 name: 'hunger', 
 sex: 'male', 
 age: 28 
}
for(var i in obj ){
       console.log(i+":"+obj[i]);
}
  1. 以下代碼輸出結(jié)果是? 為什么 (選做題目)
    || 遂庄、&&返回的是表達式的值
var a = 1, b = 2, c = 3;
var val = typeof a + b || c >0
console.log(val) 
// (typeof a) + b||c > 0  ==> "number"+ 2("number2"為true寥院,||中短路,val="number2")

var d = 5;
var data = d ==5 && console.log('bb')
console.log(data)
/* (d==5) 為true ==>  console.log('bb')輸出 bb ,返回值undefined 
==>&&運算涛目, data值為undefined 秸谢,輸出undefined */


var data2 = d = 0 || console.log('haha')
console.log(data2)
/* ( 0 || console.log('haha')) ==> 0,往后 ==> 輸出haha 霹肝,返回undefined 
==> data2值為undefined */
 
var x = !!"Hello" + (!"world", !!"from here!!");
console.log(x)
/*   (!"world", !!"from here!!")逗號運算符用于對兩個表達式求值估蹄,并返回后一個表達式的值,
 !!"from here!!" 為true ==> !!"Hello" 為true 
==> var x = true + true轉(zhuǎn)換為var x = 1 + 1 ==> x為2
當(dāng)數(shù)字和布爾值或布爾值與布爾值進行+沫换、-臭蚁、*、/操作時讯赏,會將布爾值轉(zhuǎn)換為數(shù)字垮兑,true轉(zhuǎn)換為1,false轉(zhuǎn)換為0待逞。
*/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末甥角,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子识樱,更是在濱河造成了極大的恐慌,老刑警劉巖震束,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怜庸,死亡現(xiàn)場離奇詭異,居然都是意外死亡垢村,警方通過查閱死者的電腦和手機割疾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嘉栓,“玉大人宏榕,你說我怎么就攤上這事拓诸。” “怎么了麻昼?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵奠支,是天一觀的道長。 經(jīng)常有香客問我抚芦,道長倍谜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任叉抡,我火速辦了婚禮尔崔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘褥民。我一直安慰自己季春,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布消返。 她就那樣靜靜地躺著鹤盒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪侦副。 梳的紋絲不亂的頭發(fā)上侦锯,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機與錄音秦驯,去河邊找鬼尺碰。 笑死,一個胖子當(dāng)著我的面吹牛译隘,可吹牛的內(nèi)容都是我干的亲桥。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼固耘,長吁一口氣:“原來是場噩夢啊……” “哼题篷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起厅目,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤番枚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后损敷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體葫笼,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年拗馒,在試婚紗的時候發(fā)現(xiàn)自己被綠了路星。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡诱桂,死狀恐怖洋丐,靈堂內(nèi)的尸體忽然破棺而出呈昔,到底是詐尸還是另有隱情,我是刑警寧澤友绝,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布堤尾,位于F島的核電站,受9級特大地震影響九榔,放射性物質(zhì)發(fā)生泄漏哀峻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一哲泊、第九天 我趴在偏房一處隱蔽的房頂上張望剩蟀。 院中可真熱鬧,春花似錦切威、人聲如沸育特。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缰冤。三九已至,卻和暖如春喳魏,著一層夾襖步出監(jiān)牢的瞬間棉浸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工刺彩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留迷郑,地道東北人。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓创倔,卻偏偏與公主長得像嗡害,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子畦攘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容