JavaScript-變量-原始類型primitive type

一.變量-聲明

// JS變量: 弱類型, 動(dòng)態(tài)類型
var a = 3
a = "lioil"
a = true
var b=2, c=3
    
// 加var聲明,作用范圍在代碼塊{}中
// 不加var聲明,作用范圍為全局 
 function hello(){
     var h = "hello";
     w =  "world";
 }
 hello();
 alert(h);
 alert(w);

二.變量-原始類型primitive type(5種)

number 數(shù)字(不分整型或浮點(diǎn)型)
string 字符串  
boolean 布爾 
null 對(duì)象類型的占位符, 人為賦值null(系統(tǒng)不會(huì)自動(dòng)賦值null)
undefined 未定義, null衍生類型(變量沒(méi)有初始化,系統(tǒng)自動(dòng)賦值undefined)

// 多行的字符串直接量, 則需要在每行結(jié)束時(shí)加入反斜杠(\)
var str = "hello,\
             world,\
             nihao";
var a = 3;
var b = 3.14;
var c = "hello";
var d = 'world';
var e = true;
var f = null;
var g = undefined;
var h ;
var o = new Object();   
// 運(yùn)算符typeof: 原始類型的類型判斷
alert(typeof a);
alert(typeof b);
alert(typeof c);
alert(typeof d);
alert(typeof e);
alert(typeof f); //typeof null結(jié)果是object, 這是個(gè)歷史遺留BUG, null是object的占位符,期望object
alert(typeof g);
alert(typeof h);
alert(typeof o);

console.log("hello") // 瀏覽器控制臺(tái)輸出(F12調(diào)試開(kāi)發(fā)者工具)
console.dir("world") // 瀏覽器控制臺(tái)顯示數(shù)據(jù)類型結(jié)構(gòu)

1.number數(shù)字

和其他語(yǔ)言不一樣,JavaScript不區(qū)分整數(shù)和浮點(diǎn)數(shù),JavaScript中的所有數(shù)字都是用浮點(diǎn)數(shù)來(lái)表示
JavaScript支持常見(jiàn)的算術(shù)表達(dá)式: 加(+) 減(-) 乘(*) 除(/) 求余(%)
JavaScript還支持更加復(fù)雜的運(yùn)算,被封裝在Math對(duì)象的方法中:
Math.pow(m,n)     m的n次冪
Math.round(0.6)   四舍五入,結(jié)果為1
Math.ceil(0.6)    向上取整,結(jié)果為1
Math.floor(0.6)   向下取整,結(jié)果為0
Math.abs(-6)      取絕對(duì)值,結(jié)果為6
Math.max(x,y,z)   取最大值
Math.min(x,y,z)   取最小值
Math.random()     生成一個(gè)0到1之間的偽隨機(jī)數(shù)

2.string字符串

var s = 'hello,world';  
s.charAt(0)          獲取索引為0的字符, 此處返回'h'
s.charCodeAt(0)      獲取索引為0的字符編碼
s.substring(1,4)     從索引位置截取子串, 此處返回'ell'
s.slice(1,4)         同上, 返回'ell'
s.slice(-3)          取最后三個(gè)字符, 此處返回'old'
s.indexOf('l')       第一次出現(xiàn)字符l的位置, 此處返回2
s.lastIndexOf('l')   最后一次出現(xiàn)字符l的位置, 此處為9
s.split(',')         用字符','來(lái)將字符串分隔為數(shù)組, 此處返回?cái)?shù)組['hello','world']
s.replace('h','H')   將'h'替換為'H', 此處返回'Hello,world'
s.toUpperCase()      返回大寫(xiě)的形式, 此處返回'HELLO,WORLD'

1.數(shù)學(xué)運(yùn)算
(1).一元運(yùn)算符+ -, string,boolean轉(zhuǎn)為number類型
    var a = "1";
    console.log(typeof a);  // string   
    console.log(typeof +a); // number
    console.log(+true);     // 1
    console.log(+false);    // 0
    
(2).加法運(yùn)算, number會(huì)轉(zhuǎn)為string
    console.log(+"50" + 1);  // 結(jié)果51, +"50"會(huì)自動(dòng)轉(zhuǎn)為50
    console.log("50" + 1);   // 結(jié)果501
    console.log("50" + "1"); // 結(jié)果501
    console.log("50" + "a"); // 結(jié)果50a       
    
(3).其余數(shù)學(xué)運(yùn)算, string會(huì)轉(zhuǎn)為number
    console.log("50" - 1;)   // 結(jié)果49
    console.log("50" - "1";) // 結(jié)果49
    console.log("50" * "2";) // 結(jié)果100
    console.log("50" * "a";) // 結(jié)果NaN
            
2.關(guān)系運(yùn)算
(1).字符串和數(shù)字比較,字符串轉(zhuǎn)成數(shù)字
    console.log("123" > 3) // true "123"轉(zhuǎn)成123       
    console.log("a" > 1)   // false "a"轉(zhuǎn)成NaN
    console.log("a" < 1)   // false "a"轉(zhuǎn)成NaN
    console.log("a" == 1)  // false "a"轉(zhuǎn)成NaN
    
(2).字符串和字符串比較,每個(gè)字符都轉(zhuǎn)成ascii碼,然后一一比較
    console.log("123" > "3")  // false
    console.log("abc" > "ab") // true
            
(3).漢字比較,每個(gè)字符轉(zhuǎn)成Unicode碼(0-65535之間整數(shù))
    console.log("中".charCodeAt(0)); // 20013
    console.log("國(guó)".charCodeAt(0)); // 22269
    console.log("中" < "國(guó)"); // true

3.boolean布爾

布爾類型表示真或假,只有兩個(gè)值,true和false
JavaScript任意類型都可以轉(zhuǎn)換為boolean布爾值,轉(zhuǎn)換規(guī)則如下:
    number => 除了+0,-0,NaN,其它都是true
    string => 除了空字符串"",其它都是true 
    Object => 都是true
    
    +0,-0,NaN,"",null,undefined => false呛伴,剩下的全都是true
    
例如:
    if(0 || -0 || NaN || "" || null || undefined)
        console.log('至有一個(gè)是true');
    else
        console.log('全都是false');

1.等于==, 只比較內(nèi)容
console.log(0 == true);  // false
console.log(1 == true);  // true
console.log(NaN == NaN); // false 凡是NaN參與判斷運(yùn)算符,除了! !=,其余全是false
console.log(0 == null);  // false null轉(zhuǎn)成NaN
console.log(null == undefined); // true  undefined轉(zhuǎn)成null

2.全等于===, 除了比較內(nèi)容,還要比較類型
console.log(1 === true); // false 內(nèi)容相同,類型不同
console.log(1 === "1");  // false 內(nèi)容相同,類型不同
console.log(null === undefined); // false 內(nèi)容相同,類型不同

簡(jiǎn)書(shū): http://www.reibang.com/p/9319e39dae0f
CSDN博客: http://blog.csdn.net/qq_32115439/article/details/78118650
GitHub博客: http://lioil.win/2017/09/27/js-var.html
Coding博客: http://c.lioil.win/2017/09/27/js-var.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市驰凛,隨后出現(xiàn)的幾起案子衙荐,更是在濱河造成了極大的恐慌更卒,老刑警劉巖一屋,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辈赋,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡逐抑,警方通過(guò)查閱死者的電腦和手機(jī)鸠儿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)厕氨,“玉大人进每,你說(shuō)我怎么就攤上這事∶” “怎么了田晚?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)国葬。 經(jīng)常有香客問(wèn)我贤徒,道長(zhǎng),這世上最難降的妖魔是什么汇四? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任接奈,我火速辦了婚禮,結(jié)果婚禮上通孽,老公的妹妹穿的比我還像新娘序宦。我一直安慰自己,他們只是感情好利虫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布挨厚。 她就那樣靜靜地躺著,像睡著了一般糠惫。 火紅的嫁衣襯著肌膚如雪疫剃。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,274評(píng)論 1 300
  • 那天硼讽,我揣著相機(jī)與錄音巢价,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛壤躲,可吹牛的內(nèi)容都是我干的城菊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼碉克,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼凌唬!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起漏麦,我...
    開(kāi)封第一講書(shū)人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤客税,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后撕贞,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體更耻,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年捏膨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了秧均。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡号涯,死狀恐怖目胡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情链快,我是刑警寧澤讶隐,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站久又,受9級(jí)特大地震影響巫延,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜地消,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一炉峰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧脉执,春花似錦疼阔、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至巫橄,卻和暖如春淘邻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背湘换。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工宾舅, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留统阿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓筹我,卻偏偏與公主長(zhǎng)得像扶平,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蔬蕊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

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