2018-04-14

JavaScript學習基礎

javascript簡介

js試運行在 瀏覽器(客戶端)的編程語言

1.javascript的組成部分

  • ECMAscript:JavaScript的核心,定義了JavaScript的語法規(guī)范 ;
  • BOM: 瀏覽器對象模型,一套操作瀏覽器功能的API;
  • DOM: 文檔對象模型,一套操作頁面元素的API;

2. Javascript的引入方式

  • 外鏈 <script src=""></script>
  • 行內(nèi) <input type="button" onclick="alert('hello world')">
  • 內(nèi)嵌 <script> alert('keke') </script>

3. js變量

什么是變量:

  變量是計算機內(nèi)存中存儲數(shù)據(jù)的標識符谒出,根據(jù)變量名稱可以獲取到內(nèi)存中存儲的數(shù)據(jù)

為什么要使用變量

  使用變量可以方便的獲取或者修改內(nèi)存中的數(shù)據(jù)

如何使用變量

  • var 聲明變量
    var age = 123;
    
  • 變量賦值
    var msg; 
    msg = 'gusf';
    
  • 同時聲明多個變量
    var n1 = 10,n2 = 11,n3 = 12;
    console.log(n1,n2,n3);
    

變量的命名規(guī)則(必須要遵守,不然會報錯)

  • 變量有數(shù)字、字母为居、下劃線和&符號組成,但是不可以以數(shù)字開頭;
  • 變量區(qū)分大小寫;
  • 變量不能是關鍵字和保留字(class for if var等等).

變量的命名規(guī)范(最好遵守,不會報錯)

  • 駝峰命名法:例如 userName, passWord;
  • 命名需要有意義 .

交換變量的數(shù)值

   var num1 = 4;
   var num2 = 6;
   // 臨時變量
   var tmp = num1;
   num1 = num2;
   num2 = tmp;
   console.log(num1,num2);

    // 不借助臨時變量
   var num3 = 34;
   var num4 = 62;
   num3 = num4 + num3;
   num4 = num3 - num4;
   num3 = num3 - num4;
   console.log(num3,num4);

4.數(shù)據(jù)類型

  • 數(shù)值(Number)類型:
    浮點型(不要判斷兩個浮點型是否相等);

    NaN:不是數(shù)字,與任何數(shù)值相等,包括他自己;

    isNaN()判斷不是數(shù)字類型;

    var num = 1;

  • 字符串(String)類型: var str = 'abcd123';

    1.轉(zhuǎn)義符:/n 換行颜骤、/r 空格忍抽、/t 制表董朝、/'單引號子姜、/"雙引號;

    2.字符串長度:.length();

     var str = '黑馬程序猿 Hello World';
     console.log(str.length);

3.字符串拼接
字符串拼接使用 + 連接

         console.log(11 + 11);
         console.log('hello' + ' world');
         console.log('100' + '100');
         console.log('11' + 11);
         console.log('male:' + true);
  1. 兩邊只要有一個是字符串哥捕,那么+就是字符串拼接功能
  2. 兩邊如果都是數(shù)字,那么就是算術功能遥赚。
  • 布爾(Boolean)類型:
    true
    var bool = false;
  • null類型:
    null表示一個空,變量的值如果想為null讲坎,必須手動設置
    var n = null;
  • underfined類型:
    undefined表示一個聲明了沒有賦值的變量,變量只聲明的時候值默認是undefined
    var un;
  • object(比較復雜的數(shù)據(jù)類型)

5.數(shù)據(jù)類型的轉(zhuǎn)換

  • 轉(zhuǎn)化為字符串類型:

    • toString()方法
       var num = 3;
       console.log(num.toString());
    

    null/underfined沒有toString()方法

    • String方法 一般只會在null/underfined
      var n = null;
      var nu;
      console.log(String(n));
      console.log(String(nu));
    
    • 字符串拼接
      var num = 18;
      var isRight = true;
      console.log(typeof(num + ''));
      console.log(typeof(isRight + ''));
    
  • 轉(zhuǎn)換為數(shù)值類型

    • Number()方法:
      Number()把字符串轉(zhuǎn)換成數(shù)值類型的時候,如果字符串中有一個字符不是數(shù)字,則為NaN;
      var str = '8888'
      var str1 = 'abc';
      console.log(Number(str));//8888
      console.log(Number(str1));//NaN 
    
    • parseInt()方法:整數(shù)方法
     var str = '123';
     var isRight = false;
     console.log(parseInt(str)); //123
     //無法把布爾類型轉(zhuǎn)換成數(shù)值類型,返回值是NaN;
     console.log(parseInt(isRight));//NaN
     var str1 = '123abc';
     //parseInt()在轉(zhuǎn)換字符串的時候,如果遇到數(shù)字就會轉(zhuǎn)成數(shù)字,遇到非數(shù)字就會返回
     console.log(parseInt(str1));//123
     var str2 = 'abc123';
     console.log(parseInt(str2));//NaN
     var str3 = '123.34';
     console.log(parseInt(str3));//123
    
    • parseFloat()方法
     var str = '123.17';
     var isRight = false;
     var str1 = '123.17.23.45';
     console.log(parseFloat(str)); //123.17
     //無法轉(zhuǎn)換布爾類型,返回NaN;
     console.log(parseFloat(isRight));//NaN 
     //可以解析第一個點,遇到第二個點就返回
     console.log(parseFloat(str));//123.17
    
    • 取正+ 或取負-
        var str = '123';
        var str1 = '123adb';
        var isRight = false;
        console.log(typeof(+str));
        console.log(+str1);//NaN
        console.log(+isRight);//0
    
    • 變量和0相減
       var str = '123';
       var str1 = '123adb';
       console.log(str - 0);//123
       console.log(+str1);//NaN
    
  • 轉(zhuǎn)化為布爾類型

  • Boolean()方法
   var str = 'kyw12';
   var num = 123789;
   var temp = true; 
   var n1 = null;
   var n2;
   console.log(Boolean(str));//true
   console.log(Boolean(num));//true
   console.log(Boolean(temp));//true
   console.log(Boolean(n1));//false
   console.log(Boolean(n2));//false
   //除了 null NaN undefined 0和空字符之外其他均為true




 
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末毫炉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子遵馆,更是在濱河造成了極大的恐慌货邓,老刑警劉巖四濒,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件职辨,死亡現(xiàn)場離奇詭異舒裤,居然都是意外死亡腾供,警方通過查閱死者的電腦和手機鲜滩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門榜聂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嗓蘑,“玉大人,你說我怎么就攤上這事豌汇⌒垢簦” “怎么了梅尤?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵巷燥,是天一觀的道長缰揪。 經(jīng)常有香客問我葱淳,道長,這世上最難降的妖魔是什么艳狐? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任毫目,我火速辦了婚禮,結果婚禮上镀虐,老公的妹妹穿的比我還像新娘。我一直安慰自己空猜,他們只是感情好辈毯,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布漓摩。 她就那樣靜靜地躺著管毙,像睡著了一般桌硫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上卓舵,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天掏湾,我揣著相機與錄音融击,去河邊找鬼尊浪。 笑死封救,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的鹅士。 我是一名探鬼主播如绸,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼怔接,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了岸军?” 一聲冷哼從身側響起瓦侮,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎肚吏,沒想到半個月后方妖,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡罚攀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年党觅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斋泄。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡杯瞻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出炫掐,到底是詐尸還是另有隱情魁莉,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響豆拨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜检疫,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧郑现,春花似錦攒读、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽墨礁。三九已至,卻和暖如春蹲坷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背风科。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工故痊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留愕秫,地道東北人慨菱。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像符喝,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子囱稽,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

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