JavaScript基礎(chǔ)一

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

數(shù)據(jù)類型:number string null undefined boolean symbol object
原始類型:number string boolean
復(fù)雜類型:object
區(qū)別:原始數(shù)值是最基本的類型不能再細(xì)分了;復(fù)雜類型是多個原始類型的值的合成,可以看作是一個存放各種值的容器。

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

a)typeof運(yùn)算符可以返回一個值的數(shù)據(jù)類型,可能有以下結(jié)果:number string boolean undefined function object .我們可以使用typeof來獲取一個變量是否存在,如if(typeof a!="undefined"){alert("ok")},而不要去使用if(a)因?yàn)槿绻鸻不存在(未聲明)則會出錯,對于Array,Null等特 殊對象使用typeof一律返回object,這正是typeof的局限性。
b)instanceof運(yùn)算符可以用來判斷某個構(gòu)造函數(shù)的prototype屬性是否存在于另外一個要檢測對象的原型鏈上。 如var a=new Array();alert(a instanceof Array);會返回true,同時(shí)alert(a instanceof Object)也會返回true;這是因?yàn)锳rray是object的子類。

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

利用typeof就可以判斷,因?yàn)閿?shù)值、字符串、布爾值、函數(shù)分別返回number、string、boolean、function。

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

NaN是not a number,表示非數(shù)字,NaN和任何值都不相等,包括自己。

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

a)Number()將參數(shù)轉(zhuǎn)換成數(shù)字類型
b)parseInt()將參數(shù)轉(zhuǎn)化為整數(shù)
c)parseFloat()將參數(shù)轉(zhuǎn)化成浮點(diǎn)數(shù)
Number()的強(qiáng)制類型轉(zhuǎn)換與parseInt()和parseFloat()方法的處理方式相似,只是它轉(zhuǎn)換的是整個值,而不是部分值。parseInt()和parseFloat()方法只轉(zhuǎn)換第一個無效字符之前的字符串。如“3.4.5”被轉(zhuǎn)換成“3.4”,用Number()進(jìn)行強(qiáng)制類型轉(zhuǎn)換將返回NAN,如果字符串值能被完整地轉(zhuǎn)換,Number()將判斷是調(diào)用parseInt()還是parseFloat()

parseFloat("3.4.5")
//3.4
Number("3.4.5")
//NaN

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

==表示近似相等,等號兩邊的參數(shù)經(jīng)過轉(zhuǎn)換后值相等即可輸出true,否則輸出false;===表示絕對相等,參數(shù)不會轉(zhuǎn)換,相等輸出true ,否則false。

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

break 用于強(qiáng)制退出循環(huán)體,執(zhí)行循環(huán)后面的語句
continue 用于退出本次循環(huán),執(zhí)行下次循環(huán)

for(var i = 1; i< 10; i++){
    if(i % 4 === 0){
        break;
    }
    console.log(i);
}
// 1,2,3
for(var i = 1; i< 10; i++){
    if(i % 4 === 0){
        continue;
    }
    console.log(i);
}
//1,2,3,5,6,7,9

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

void 0 運(yùn)算返回值始終都是 undefined
undefined 可以在局部作用域中被覆寫

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

console.log(1+1);               //2,數(shù)值相加
console.log("2"+"4");          //“24”,字符串拼接
console.log(2+"4");            //“24”,第一個number轉(zhuǎn)換為string后字符串拼接
console.log(+"4");              //4 ,當(dāng)只有一個字符串時(shí),類型會發(fā)生改變
console.log(+"b");              //NaN ,當(dāng)只有一個字符串時(shí),類型會發(fā)生改變
var a = 1;  
a+++a;                          //(a++)+a,++的運(yùn)算符優(yōu)先于+               
typeof a+2;                   //(typeof a) + 2,typeof優(yōu)先級高于+,"number2"
 var a = 1;
 var b = 3;
 console.log( a+++b );      //4 ,(a++)+b,++的運(yùn)算符優(yōu)先于+

10、遍歷數(shù)組以及對象

var arr = [3,4,5]
for(let i =0;i<arr.length;i++){
     console.log(arr[i]*arr[i])
}
var obj = {
 name: 'hunger', 
 sex: 'male', 
 age: 28 
}

for(let key in obj){
    console.log(obj[key])
}

11、以下代碼輸出結(jié)果是? 為什么

var a = 1, b = 2, c = 3;
var val = typeof a + b || c >0
console.log(val) 
//number2,根據(jù)優(yōu)先級先算((typeof a) + b )|| (c >0),("number" + 2) || (c >0),||前面的部分為真,則后面的不管,則console.log("number2") ,即為number2

var d = 5;
var data = d ==5 && console.log('bb')
console.log(data)
//undefined

var data2 = d = 0 || console.log('haha')
console.log(data2)
 //undefined

var x = !!"Hello" + (!"world", !!"from here!!");
console.log(x)
// 2,!為邏輯非運(yùn)算,取值的邏輯值相反,兩個!即相當(dāng)于值原本的邏輯值。逗號運(yùn)算符返回第二項(xiàng),又因?yàn)榉强兆址倪壿嬛禃r(shí)true,而布爾值做加法運(yùn)算時(shí),true轉(zhuǎn)為1,false轉(zhuǎn)為0。因此運(yùn)算如下:true + (!"world", !!"from here!!") => true + !!"from here!!" => true + true => 1 + 1 => 2
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,034評論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,327評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,337評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,883評論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,975評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,114評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,625評論 1 332
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,555評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,737評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 43,973評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,343評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,699評論 2 370

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