js基礎整理

來源:互聯網
上載者:User

標籤:遍曆   開頭   遞迴   操作   segment   ase   傳回值   語句   代碼塊   

JS對大小寫敏感,JS會忽略多餘空格

JS變數以字母為開頭,也能用$和_開頭,同樣對大小寫敏感

  var用來聲明變數,ES6的寫法則使用let(對於es6的支援程度不同瀏覽器做的不一樣,想要保證運行需轉譯成es5,但是es6是趨勢)

var aaa = "aaa";var AAA="AAA";console.log(aaa,AAA);//aaa AAA

   一條語句可以聲明多個變數,使用[,]進行分隔即可

var aaa = "aaa",AAA = "AAA";

  聲明的變數如果為賦值,則預設為undefined

var bbb;console.log(bbb);//undefined

  JS中有變數提升,var或者function關鍵字進行聲明的變數和函數,會在編譯時間事先進行編譯,而後才對其進行賦值

console.log(ccc);var ccc = "ccc";//上下兩部分是等價的var ccc;console.log(ccc);ccc = "ccc";

  JS中的變數具有動態變數類型,會根據你賦予的值來決定該變數是字串、數字、布爾、數組、對象、Null、UndefinedJS中只有這幾種變數類型

var x                // x 為 undefinedvar x = 6;           // x 為數字var x = "Bill";      // x 為字串

  可以通過將變數的值設定為 null 來清空變數。

  JS會對代碼進行拆行(不推薦)

document.write("Hello World!");document.write ("Hello World!"); //這種寫法錯誤

 

JS對象

  在JS中萬物皆對象,甚至於字串、數字、數組也都是對象。不同的對象擁有不同的【屬性】和【方法】

  一般可以使用【objectName.propertyName】來查詢一個對象的某一個屬性。下面的例子裡面message作為一個字串對象,預設擁有length屬性

var message="Hello World!";console.log( message.length );//12

  一般可以使用【objectName.methodName()】來調用一個對象的某一個方法。下面的例子裡面message作為一個字串對象,調用了toUpperCase方法將其轉化為大寫

var message="Hello World!";console.log( message.toUpperCase() );//HELLO WORLD!

 

JS函數

   js函數有如下四種聲明方式,其中第一種第二種等價,第三種可以同時使用func3和func4調用,第四種則是使用建構函式的方式直接聲明變數類型為function

    function func1(num1,num2){      // do something      arguments    }    var func2 = function(num1,num2){      //do something    }    var func3 = function func4(num1,num2){      //do something    }    var func5 = new Functon();

  js可以聲明匿名函數(通常只能調用一次),聲明時可以不聲明形參,可以使用arguments數組來擷取傳遞的參數(雖然arguments數組有length屬性,但是卻沒有正常數組所擁有的其他方法)

  js函數可以使用return規定傳回值,預設為undefined。同時也經常使用return來打斷並推出函數執行。

  在js函數中通過var、const或者let等聲明的變數均為局部變數,在函數調用結束後銷毀(特例情況是【閉包】),但是如果對未聲明的變數直接進行賦值,則預設該變數為全域變數。

 

JS運算子

  +、-、*、/、%(取餘)、++(累加)、--(累減)

  =(賦值)、+=(x+=y等價於x=x+y)、-=、*=、/=、%=

  ※對字串使用【+】則是執行字串拼接操作,同時如果數字與字串使用【+】則預設字串拼接

  比較以及邏輯運算子:==(判斷值是否相等),===(同時判斷值與資料類型是否相等)【具體參考連結】、!=(不等於)、>、<、>=、<=、&&(與)、||(或)、!(非)

 

JS迴圈

  if、if...else、if...else if...else if... 最基礎最常用的條件判斷

  switch...case ... case...default... 每個case選擇中的末尾使用break打斷,防止過度判斷;使用default來設定沒有任何case匹配情況下的事件。但是這種方式目前使用較少

  for迴圈,js中目前最常用的迴圈方式

for(語句1; 語句2;語句3){迴圈代碼}

    語句1:迴圈開始的初始值;語句2:滿足該條件則執行迴圈,每次執行迴圈代碼之前都會進行一次語句2的判定;語句3:迴圈代碼執行之後執行語句3,一般用來遞迴迴圈值用於語句2的判斷

    語句123其實都不是必須的,同時語句1也可以設定多個值。語句2在特殊情況下也可以捨棄,不過就需要在迴圈代碼中加入break來打斷迴圈,否則迴圈有可能無限進行導致程式崩潰。

  for...in用來迴圈遍曆對象中的屬性

    var obj = {      name:123,      age:456    }    for (var abc in obj) {      console.log( abc + ":" + obj[abc]);//name:123//age:456    }

  while迴圈,目前使用較少

  do...while,先執行一次do,再進行while的條件判斷

  在JS的任何迴圈語句中,都可以使用【break】來終止迴圈,使用【continue】來跳過迴圈中的某一個迭代。(break通過標籤引用,實際上可以跳出JS的任意代碼塊,只不過不常用)

 

js基礎整理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.