2018-04-21

Javascript基礎(chǔ)3

1.數(shù)組

  • 數(shù)組是一組數(shù)據(jù)類型
  • 數(shù)組可以存儲(chǔ)很多項(xiàng),有順序,很多項(xiàng)形成一個(gè)集合,這個(gè)集合就是數(shù)組Array;
  • 數(shù)組的字面量就是[];
     var Array = [];
    
  • 如何獲取數(shù)組中的數(shù)據(jù)

索引/下標(biāo) ,數(shù)組中的第一項(xiàng)的索引是從0開始;

var names = ['kk','wxf','ps','ps1'];
console.log(names[0]); //'kk'
console.log(names[1]); //'wxf'
console.log(names[2]); //'ps'
console.log(names[3]); //'ps1'
console.log(names[4]);  //underfind

//動(dòng)態(tài)插入/修改元素
names[0]='xxxx';
names[4] ='keke';
console.log(names[0]);
console.log(names[4]);

// 獲取數(shù)組中的每一項(xiàng) (遍歷數(shù)組)
var names = ['kk','wxf','ps','ps1'];
for (var i = 0; i <= names.length; i++){
    console.log(names[i]);
}

// 倒著獲取數(shù)組中的每一項(xiàng)
 var names = ['kk','wxf','ps','ps1'];
 for (var i =names.length-1;i >=0 ;i--){
     console.log(names[i]);
 }

 //給空數(shù)組添加值
 var scrols = [];
     console.log(scrols);
 for(var i = 0;i<10;i++){
     scrols[i] = i;
 }
 console.log(scrols);

 //清空數(shù)組
 var names = ['kk','wxf','ps','ps1'];
 names.length = 0;
 console.log(names);
  • 求數(shù)組的和和平均值
  var numbers = [35, 12, 35, 90, 11, 12];
  var sum = 0; //定義和為0
  var avg;
  for(var i = 0; i < numbers.length; i++){
      sum += numbers[i] //相加 sum = sum + numbers[i];
  }
  avg = sum / numbers.length;
  console.log('數(shù)組中所有數(shù)的和'+sum);
  console.log('數(shù)組中所有數(shù)的平均值'+avg);
  • 求數(shù)組中的最大值和最小值
  //方法1
  var numbers = [35, 12, 35, 90, 11, 12];
  var max = numbers[0];
  var min = numbers[0];
  var maxIndex = 0;
  var minIndex = 0;
  for (var i = 0;i < numbers.length; i++){
      if(max < numbers[i]){
          //把最大值賦給比較大的那個(gè)數(shù)
          max = numbers[i];
          maxIndex = i; //獲取索引
      }
      if(min > numbers[i]){
          min = numbers[i];
          minIndex = i;
      }
  }
  console.log('最大值'+max);
  console.log('最大值的索引'+maxIndex);
  console.log('最小值'+min);
  console.log('最小值的索引'+minIndex);

  //方法2
   /* Math是js中的數(shù)學(xué)方法集合,applay上下文調(diào)用后面的課程會(huì)詳講;
  Math.max(42,52)取2個(gè)值中的最大值 52
  Math.min(42,33)取2個(gè)值中的最小值 33
  Math.max.apply(null,arr) 取數(shù)組中的最大值
  Math.min.apply(null,arr) 取數(shù)組中的最小值*/
  var max1 = Math.max.apply(null,[12,234,45,678,1234,43]);
  var min1 = Math.min.apply(null,[12,234,45,678,1234,43]);
  console.log(max1);
  console.log(min1)
  • 分隔數(shù)組(字符串)

1.for循環(huán)

var names = ['王五','劉洋','天爸','楊洋','養(yǎng)養(yǎng)眼'];
// 定義一個(gè)變量等于數(shù)組的第一項(xiàng)
var sum = names[0];
//定義分隔符
var separator = '|';
//循環(huán)遍歷拼接字符串和分隔符
for(var i = 1;i < names.length;i++){
   sum += separator + names[i];
}
console.log(sum);

2.join() :用分隔符额各,組合數(shù)組丘损,生成字符串

 var names = ['王五','劉洋','天爸','楊洋','養(yǎng)養(yǎng)眼'];
 console.log(names.join('|'));
  • 篩選數(shù)組: 將數(shù)組中多余的部分去掉住闯,重新組合
  var nums = [12,0,13,34,0,67,0];
  var Array = []
  for(var i = 0; i< nums.length; i++){
      if(nums[i]!==0){
          // array[array.legth] = 1;
          // array[0] = 1;
          //將數(shù)字從新插入數(shù)組,Array.length相當(dāng)于索引
       Array[Array.length] = nums[i];
      }
  }
  console.log(Array)
  • 翻轉(zhuǎn)數(shù)組:將數(shù)組的位置倒過來
  var nums = [12,13,34,0,67];
  var Array = [];
  for (var i = nums.length-1;i >= 0;i--){
      Array[Array.length] = nums[i]; //從后往前交換索引
  }
  console.log(Array);
  • 冒泡排序
   //冒泡排序踏烙,從小到大的排序
   var numbers = [35, 12, 36, 90, 11, 18];
   //控制趟數(shù)踢涌,每一次找到最大的那個(gè)數(shù)
   for(var i = 0; i < numbers.length-1;i++){
       //內(nèi)層循環(huán)兼蜈,控制比較的次數(shù)把最大的往后移攘残,最小的往前移;
       for(var j = 0; j< numbers.length-1-i;j++){
           if(numbers[j] > numbers[j+1]){
               var temp = numbers[j];
               //交換
               numbers[j] = numbers[j+1];
               numbers[j+1] = temp;
           }
       }
   }
   console.log(numbers)

2.函數(shù):

把一段相對(duì)獨(dú)立的具有特定功能的代碼塊封裝起來,形成一個(gè)獨(dú)立實(shí)體为狸,就是函數(shù)歼郭,起個(gè)名字(函數(shù)名),在后續(xù)開發(fā)中可以反復(fù)調(diào)用.

  • 封裝
  • 一次封裝多次調(diào)用;
  • 手動(dòng)調(diào)用;

1.函數(shù)的參數(shù)

  • 函數(shù)的聲明:可以在函數(shù)定義前調(diào)用
   function 函數(shù)名sayHi(){
    函數(shù)體
   }
   //調(diào)用函數(shù)
  //  用函數(shù)名調(diào)用辐棒,可以多次調(diào)用
  sayHi();
  • 函數(shù)表達(dá)式:不可以在函數(shù)前調(diào)用
      var sayHi(); = function(){
          函數(shù)體
      }
      //調(diào)用函數(shù)
      // 函數(shù)名
      sayHi();
  • 函數(shù)的形參和實(shí)參

形式參數(shù):在聲明一個(gè)函數(shù)的時(shí)候病曾,為了函數(shù)的功能更加靈活,有些值是固定不了的漾根,對(duì)于這些固定不了的值泰涂。我們可以給函數(shù)設(shè)置參數(shù)。這個(gè)參數(shù)沒有具體的值辐怕,僅僅起到一個(gè)占位置的作用逼蒙,我們通常稱之為形式參數(shù),也叫形參寄疏。

實(shí)際參數(shù):如果函數(shù)在聲明時(shí)是牢,設(shè)置了形參僵井,那么在函數(shù)調(diào)用的時(shí)候就需要傳入對(duì)應(yīng)的參數(shù),我們把傳入的參數(shù)叫做實(shí)際參數(shù)驳棱,也叫實(shí)參批什。

  //求1-n之間所有數(shù)的和
         var sum = 0;
         //n 形式參數(shù)
         function getSum(n){
             for(var i = 0;i <= n;i++){
                 sum += i
             }
             console.log(sum);
         }
         getSum(3);

         //求n-m之間所有數(shù)額和
         var sum1 = 0;
         // n1 m 形式參數(shù)
         function getSum1(n1,m){
             for(var j = n1;j <= m;j++){
                 sum1 += j;
             }
             console.log(sum1);
         }
         getSum1(1,2);

3.函數(shù)的返回值

return 可以拿到函數(shù)的結(jié)果,返回函數(shù)的值
return跳出函數(shù)后面的代碼不會(huì)執(zhí)行
如果函數(shù)沒有return則返回undefined;
若你不需要返回值蹈胡,你直接調(diào)用函數(shù)即可渊季,不需要用變量來接受它的返回值
console.log(fn()); //第一步調(diào)用函數(shù); 第二步打印出來

      //函數(shù)返回值的語法
      //聲明一個(gè)帶返回值的函數(shù)
      function 函數(shù)名(形參1, 形參2, 形參...){
      //函數(shù)體
      return 返回值;
      }
      //可以通過變量來接收這個(gè)返回值
      var 變量 = 函數(shù)名(實(shí)參1, 實(shí)參2, 實(shí)參3);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末朋蔫,一起剝皮案震驚了整個(gè)濱河市罚渐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌驯妄,老刑警劉巖荷并,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異青扔,居然都是意外死亡源织,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門微猖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谈息,“玉大人,你說我怎么就攤上這事凛剥∠莱穑” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵犁珠,是天一觀的道長(zhǎng)逻炊。 經(jīng)常有香客問我,道長(zhǎng)犁享,這世上最難降的妖魔是什么余素? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮炊昆,結(jié)果婚禮上桨吊,老公的妹妹穿的比我還像新娘。我一直安慰自己凤巨,他們只是感情好视乐,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著磅甩,像睡著了一般炊林。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上卷要,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天渣聚,我揣著相機(jī)與錄音独榴,去河邊找鬼。 笑死奕枝,一個(gè)胖子當(dāng)著我的面吹牛棺榔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播隘道,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼症歇,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了谭梗?” 一聲冷哼從身側(cè)響起忘晤,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎激捏,沒想到半個(gè)月后设塔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡远舅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年闰蛔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片图柏。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡序六,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蚤吹,到底是詐尸還是另有隱情例诀,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布距辆,位于F島的核電站余佃,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏跨算。R本人自食惡果不足惜爆土,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望诸蚕。 院中可真熱鬧步势,春花似錦、人聲如沸背犯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽漠魏。三九已至倔矾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背哪自。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工丰包, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人壤巷。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓邑彪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親胧华。 傳聞我的和親對(duì)象是個(gè)殘疾皇子寄症,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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

  • 函數(shù)和對(duì)象 1、函數(shù) 1.1 函數(shù)概述 函數(shù)對(duì)于任何一門語言來說都是核心的概念矩动。通過函數(shù)可以封裝任意多條語句有巧,而且...
    道無虛閱讀 4,543評(píng)論 0 5
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,131評(píng)論 0 13
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,511評(píng)論 1 51
  • 10月1日铅忿,星期日剪决,陰 今天是國慶節(jié)灵汪,我卻上班忙碌了一天檀训。女兒和她舅舅、舅媽享言、表弟一起回鄉(xiāng)下去了峻凫。等我晚上下班也回...
    月兒貝貝閱讀 224評(píng)論 0 0
  • 巡香記,小酒輕酌览露,許愿輕說荧琼,道紅塵是非恩怨幾多,浮名不盡怎知對(duì)與錯(cuò)差牛。 湘菜閣命锄,四人一桌,笙歌落落偏化,論職場(chǎng)干戈宏圖云...
    小庶公子閱讀 149評(píng)論 0 0