整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          JavaScript第一步

          JavaScript第一步

          量是什么

          一個(gè)變量,就是一個(gè)用于存放數(shù)值的容器。這個(gè)數(shù)值可能是一個(gè)用于累加計(jì)算的數(shù)字,或者是一個(gè)句子中的字符串。變量的獨(dú)特之處在于它存放的數(shù)值是可以改變的。讓我們看一個(gè)簡單的例子:

          Press me

          var button=document.querySelector('button');

          button.onclick=function() {

          var name=prompt('What is your name?');

          alert('Hello ' + name + ', nice to see you!'); }

          在上面的例子中,點(diǎn)擊按鈕之后,第一行代碼會在屏幕上彈出一個(gè)對話框,讓你輸入名字,然后存儲輸入的名字到一個(gè)變量。第二行代碼將會顯示包含你名字的歡迎信息,你的名字就是從之前的變量里面讀取的。

          變量的另一個(gè)特性就是它們能夠存儲任何的東西 -- 不只是字符串和數(shù)字。變量可以存儲更復(fù)雜的數(shù)據(jù),甚至是函數(shù)。你將在后續(xù)的內(nèi)容中體驗(yàn)到這些用法。

          我們說,變量是用來存儲數(shù)值的,那么有一個(gè)重要的概念需要區(qū)分。變量不是數(shù)值本身,它們僅僅是一個(gè)用于存儲數(shù)值的容器。你可以把變量想象成一個(gè)個(gè)用來裝東西的紙箱子。




          聲明變量

          要想使用變量,你需要做的第一步就是創(chuàng)建它 -- 更準(zhǔn)確的說,是聲明一個(gè)變量。聲明一個(gè)變量的語法是在var關(guān)鍵字之后加上這個(gè)變量的名字

          var myName;

          var myAge;

          提示: 在JavaScript中,所有代碼指令都會以分號結(jié)尾 (;) — 如果忘記加分號,你的單行代碼可能執(zhí)行正常,但是在多行代碼在一起的時(shí)候就可能出錯。所以,最好是養(yǎng)成主動以分號作為代碼結(jié)尾的習(xí)慣。提示: 千萬不要把兩個(gè)概念弄混淆了,“一個(gè)變量存在,但是沒有數(shù)值”和“一個(gè)變量并不存在” — 他們完全是兩回事 — 在前面你看到的盒子的類比中,不存在意味著沒有可以存放變量的“盒子”。沒有定義的值意味著有一個(gè)“盒子”,但是它里面沒有任何值。


          初始化變量

          一旦你定義了一個(gè)變量,你就能夠初始化它. 方法如下,在變量名之后跟上一個(gè)“=”,然后是數(shù)值:

          myName='Chris';

          myAge=37; //你還可以向下面這樣

          var myName='Chris';

          更新變量

          一旦變量賦值,您可以通過簡單地給它一個(gè)不同的值來更新它。試試在你的控制臺中輸入

          關(guān)于變量命名的規(guī)則:

          你可以給你的變量賦任何你喜歡的名字,但有一些限制。 一般你應(yīng)當(dāng)堅(jiān)持使用拉丁字符(0-9,a-z,A-Z)和下劃線字符。

          • 你不應(yīng)當(dāng)使用規(guī)則之外的其他字符,因?yàn)樗鼈兛赡芤l(fā)錯誤,或?qū)H用戶來說難以理解。
          • 變量名不要以下劃線開頭—— 以下劃線開頭的被某些JavaScript設(shè)計(jì)為特殊的含義,因此可能讓人迷惑。
          • 變量名不要以數(shù)字開頭。這種行為是不被允許的,并且將引發(fā)一個(gè)錯誤
          • 一個(gè)可靠的命名約定叫做 "小寫駝峰命名法",用來將多個(gè)單詞組在一起,小寫整個(gè)命名的第一個(gè)字母然后大寫剩下單詞的首字符。我們已經(jīng)在文章中使用了這種命名方法
          • 讓變量名直觀,它們描述了所包含的數(shù)據(jù)。不要只使用單一的字母/數(shù)字,或者長句。
          • 變量名大小寫敏感——因此myage與myAge是2個(gè)不同的變量。
          • 最后也是最重要的一點(diǎn)—— 你應(yīng)當(dāng)避免使用JavaScript的保留字給變量命名。保留字,即是組成JavaScript的實(shí)際語法的單詞!因此諸如 var, function, let和 for等,都不能被作為變量名使用。瀏覽器將把它們識別為不同的代碼項(xiàng),因此你將得到錯誤。

          age

          myAge

          init

          initialColor

          finalOutputValue

          audio1

          audio2


          變量類型

          可以為變量設(shè)置不同的數(shù)據(jù)類型。 ps:數(shù)據(jù)類型與數(shù)據(jù)結(jié)構(gòu)并不是一回事

          Number

          你可以在變量中存儲數(shù)字,不論這些數(shù)字是像30(也叫整數(shù))這樣,或者像2.456這樣的小數(shù)(也叫做浮點(diǎn)數(shù))。與其他編程語言不同,在 JavaScript 中你不需要聲明一個(gè)變量的類型。當(dāng)你給一個(gè)變量數(shù)字賦值時(shí),不需要用引號括起來。

          var myAge=17;

          String

          字符串是文本的一部分。當(dāng)你給一個(gè)變量賦值為字符串時(shí),你需要用單引號或者雙引號把值給包起來,否則JavaScript將會把這個(gè)字符串值理解成別的變量名。

          var dolphinGoodbye='So long and thanks for all the fish';

          Boolean

          Boolean 的值有2種:true或false。它們通常被用于在適當(dāng)?shù)拇a之后,測試條件是否成立。舉個(gè)例子,一個(gè)簡單的示例如下

          var iAmAlive=true;

          通常更加常用的是

          var test=6 < 9;

          這是使用“小于”操作符(<)來測試6小于3。正如你所料的,將會返回true

          Array-數(shù)組

          數(shù)組是一個(gè)單個(gè)對象,其中包含很多值,方括號括起來,并用逗號分隔。嘗試在您的控制臺輸入以下行

          var myNameArray=['Chris', 'Bob', 'Jim'];

          當(dāng)數(shù)組被定義以后,您可以使用以下所示的語法來訪問相對應(yīng)的值

          myNameArray[0]; // should return 'Chris'

          myNumberArray[2]; // should return 40

          此處的方括號包含一個(gè)索引值,該值指定要返回的值的位置。 您可能已經(jīng)注意到,計(jì)算機(jī)從0開始計(jì)數(shù),而不是像我們?nèi)祟惸菢拥?。

          Object

          在編程中,對象是現(xiàn)實(shí)生活中的模型的一種代碼結(jié)構(gòu)。您可以有一個(gè)簡單的對象,代表一個(gè)停車場,并包含有關(guān)其寬度和長度的信息,或者您可以有一個(gè)代表一個(gè)人的對象,并包含有關(guān)他們的名字,身高,體重,他們說什么語言,如何說 你好,他們,等等。

          動態(tài)類型

          JavaScript是一種“動態(tài)類型語言”,這意味著不同于其他一些語言(譯者注:如C、JAVA),您不需要指定變量將包含什么數(shù)據(jù)類型(例如number或string)

          例如,如果你聲明一個(gè)變量并給它一個(gè)帶引號的值,瀏覽器就會知道它是一個(gè)字符串;

          var myNumber='500'; // oops, this is still a string

          typeof myNumber;

          myNumber=500; // much better — now this is a number

          typeof myNumber

          嘗試依次將上述代碼輸入您的控制臺,看看結(jié)果是什么(無須輸入//之后的注釋)。 我們使用了一個(gè)名為typeof()的特殊函數(shù) ——它會返回所傳遞給它的變量的數(shù)據(jù)類型。 第一次在上面的代碼中調(diào)用它,它應(yīng)該返回string,因?yàn)榇藭r(shí)myNumber變量包含一個(gè)字符串'500'。 看看它第二次將返回什么。


          JavaScript中的基礎(chǔ)數(shù)學(xué) - 數(shù)字與操作符

          好吧,可能不是。有些人喜歡數(shù)學(xué),有些人可能從在學(xué)校必須學(xué)習(xí)乘法表和長除法時(shí)就討厭數(shù)學(xué),還有人介于兩者之間。但我們都不能否認(rèn),數(shù)學(xué)是生活的基本組成部分,我們離不了它。尤其如此,當(dāng)我們學(xué)習(xí)編寫 JavaScript 程序(或任何其他語言),我們所做的很多事情都依賴于處理數(shù)值數(shù)據(jù),計(jì)算新值等。你將不會驚訝地認(rèn)識到 JavaScript 有一套可用的全功能的數(shù)學(xué)功能。

          數(shù)字類型

          • 整數(shù) 例如:100,50,-8
          • 浮點(diǎn)數(shù) 有小數(shù)點(diǎn)的或者有小數(shù)位的 例如:12.3,5.4;
          • 雙精度 這是一種特殊的浮點(diǎn)數(shù),他們具有較高的精度,
          • 我們甚至有不同類型的數(shù)字系統(tǒng)! 十進(jìn)制是基數(shù)10(意味著它在每列使用0-9),但是我們也有這樣的東西:
          • 二進(jìn)制
          • 八進(jìn)制
          • 十六進(jìn)制
          • 十進(jìn)制 我們經(jīng)常用的
          • 1.首先聲明一個(gè)變量,分別是浮點(diǎn)數(shù)與整數(shù),再輸入輸入變量名來檢查是否正確

          var myInt=5; var myFloat=6.667

          2.在JavaScript中有一個(gè) typeof 的運(yùn)算符,是用來檢查所屬對象的類型的

          typeof myInt;

          typeof myFloat;

          算數(shù)運(yùn)算符

          算術(shù)運(yùn)算符是我們用來做和的基本運(yùn)算符

          運(yùn)算符名稱作用示例

          • 加法兩個(gè)數(shù)相加。6 + 9
          • 減法從左邊減去右邊的數(shù)。20 - 15
          • 乘法兩個(gè)數(shù)相乘。3 * 7
          • /除法用右邊的數(shù)除左邊的數(shù)10 / 5
          • %求余(有時(shí)候也叫取模)
          • 在你將左邊的數(shù)分成同右邊數(shù)字相同的若干整數(shù)部分后,返回剩下的余數(shù)

          8 % 3 (返回 2,將8分成3份,余下2 。)

          運(yùn)算符優(yōu)先級

          這是因?yàn)檫\(yùn)算符優(yōu)先級 - 一些運(yùn)算符將在計(jì)算總和的結(jié)果(在編程中稱為表達(dá)式)時(shí)被應(yīng)用于其他運(yùn)算符。 JavaScript中的運(yùn)算符優(yōu)先級與學(xué)校的數(shù)學(xué)課程相同 - 乘法和除法總是先完成,然后加法和減法(總和總是從左到右進(jìn)行評估)。

          如果要覆蓋運(yùn)算符優(yōu)先級,可以首先對要顯式處理的部分進(jìn)行括號。

          具體的查看這個(gè)

          遞增遞減運(yùn)算符

          它們最常用于循環(huán)中,您將在以后的課程中了解。 例如,假設(shè)您想循環(huán)查看價(jià)格表,并為每個(gè)價(jià)格增加銷售稅。 您可以使用循環(huán)依次查看每個(gè)值,并在每種情況下進(jìn)行必要的計(jì)算,以添加銷售稅。 當(dāng)需要時(shí),增量器用于移動到下一個(gè)值。 我們實(shí)際上提供了一個(gè)簡單的例子,顯示了如何完成 —— 在線查看效果,并 查看源代碼,看看是否可以發(fā)現(xiàn)增量器! 我們稍后將會詳細(xì)介紹循環(huán)。

          num++;num--;

          您可以使瀏覽器以其他方式進(jìn)行操作 - 遞增/遞減變量,然后返回值 - 將操作符放在變量的開頭,而不是結(jié)束。 再次嘗試上面的例子,但這次使用++ num1和--num2。

          操作運(yùn)算符

          運(yùn)算符名稱作用示例等價(jià)于

          +=遞增賦值右邊的數(shù)值加上左邊的變量,然后再返回新的變量。x=3;

          x +=4;x=3;

          x=x + 4;

          -=遞減賦值左邊的變量減去右邊的數(shù)值,然后再返回新的變量。x=6;

          x -=3;x=6;

          x=x - 3;

          *=乘法賦值左邊的變量乘以右邊的數(shù)值,然后再返回新的變量。x=2;

          x *=3;x=2;

          x=x * 3;

          /=除法賦值左邊的變量除以右邊的數(shù)值,然后再返回新的變量。x=10;

          x /=5;x=10;

          x=x / 5;

          比較運(yùn)算符

          運(yùn)算符名稱作用示例

          ===嚴(yán)格等于測試左右值是否相同5===2 + 4

          !==嚴(yán)格不等于測試左右值是否相同5 !==2 + 3

          <小于測試左值是否小于右值。10 < 6

          大于測試左值是否大于右值10 > 20

          <=小于或等于測試左值是否小于或等于右值。3 <=2

          =大于或等于測試左值是否大于或等于正確值。5 >=4

          : 您可能會看到有些人在他們的代碼中和!=來判斷相等和不相等,這些都是JavaScript中的有效運(yùn)算符,但它們與=/!==不同,前者測試值是否相同, 但是數(shù)據(jù)類型可能不同,而后者的嚴(yán)格版本測試值和數(shù)據(jù)類型是否相同。 嚴(yán)格的版本往往導(dǎo)致更少的錯誤,所以我們建議您使用這些嚴(yán)格的版本。

          文本處理-JavaScript中的字符串

          接下來,我們將把注意力轉(zhuǎn)向字符串——這是在編程中調(diào)用的文本片段。在本文中,我們將了解在學(xué)習(xí)JavaScript時(shí),您應(yīng)該了解的所有常見的事情,例如創(chuàng)建字符串、在字符串中轉(zhuǎn)義引號、并將它們連接在一起。

          字符串-基本知識

          就像我們處理數(shù)字一樣,我們聲明一個(gè)變量,用一個(gè)字符串值初始化它,然后返回值。這里惟一的區(qū)別是,在編寫字符串時(shí),我們需要在字符串上加上雙引號。

          var badString=This is a test;

          var badString='This is a test;

          var badString=This is a test';

          這些行不起作用,因?yàn)闆]有引號的任何文本字符串都被假定為變量名、屬性名、保留字或類似。如果瀏覽器不能找到它,那么將會引發(fā)語法錯誤(例如:"missing ; before statement")。

          如果瀏覽器能夠識別字符串從哪里開始,但是不能找到字符串的結(jié)尾符,如第二行所示,那么它則會提示這樣的錯誤(“unterminated string literal”)。如果您寫的程序目前也引發(fā)這樣的錯誤,那么請你回過頭來仔細(xì)檢查你的代碼,看是否漏寫了引號

          在引用字符串中引號應(yīng)該是統(tǒng)一的。

          轉(zhuǎn)義字符串中的字符

          一般是用來確保一些文本能夠使用,而不是被解釋器錯誤的解釋為代碼,而產(chǎn)生錯誤。

          在JavaScript中,我們通過在字符之前放一個(gè)反斜杠來實(shí)現(xiàn)這一點(diǎn)。試試這個(gè):

          var bigmouth='I've got no right to take my place...';


          連接字符串

          連接是一個(gè)很花哨的編程詞,意思是“連接在一起”。在JavaScript中連接字符串使用加號(+)操作符,我們用它來將數(shù)字加在一起,但是在這種情況下,它做了一些不同的事情。讓我們在控制臺中嘗試一個(gè)例子。

          var one='Hello, ';

          var two='how are you?';

          var joined=one + two;

          joined;

          變量 joined 的值的結(jié)果,它包含的值為 "Hello, how are you?"。

          最后一個(gè)例子中, 我們只是把兩個(gè)字符串連接在一起,但是你可以喜歡連接多少就多少個(gè), 只需要在它們之間加上 + 操作符。試試這個(gè):

          var multiple=one + one + one + one + two;

          multiple;

          你還能用真實(shí)的字符串和變量來混合。試試這個(gè):

          var response=one + 'I am fine — ' + two;

          response;

          注意: 當(dāng)您在您的代碼中輸入一個(gè)實(shí)際的字符串時(shí),用單引號或雙引號括起來,它被稱為字符串文字。

          數(shù)字與字符

          當(dāng)我們嘗試添加(或連接)一個(gè)字符串和一個(gè)數(shù)字時(shí),會發(fā)生什么?你可能認(rèn)為他會報(bào)錯,但是她并沒有。在遇到這種情況下,解釋器重名的將數(shù)字轉(zhuǎn)換為字符串。你可以通過typeof測試一下這個(gè)變量類型究竟是數(shù)字還是字符串。

          讓我們在我們的控制臺中嘗試一下:

          'Front ' + 242;

          var myDate='19' + '67';

          typeof myDate;

          如果您有一個(gè)數(shù)值變量,您想要將其轉(zhuǎn)換為字符串,但不改變其他方式,或者您想要轉(zhuǎn)換為一個(gè)數(shù)字而不改變的字符串變量,那么您可以使用以下兩個(gè)構(gòu)造:

          如果可以的話, Number 對象將把傳遞給它的任何東西轉(zhuǎn)換成一個(gè)數(shù)字。

          試一試:

          var myString='123';

          var myNum=Number(myString);

          typeof myNum;

          另一方面,每個(gè)數(shù)字都可以用一個(gè)名為 toString() 的方法,它將把它轉(zhuǎn)換成等價(jià)的字符串。

          試試這個(gè):

          var myNum=123;

          var myString=myNum.toString();

          typeof myString;


          有用的字符串方法

          現(xiàn)在我們重申一遍—在javascript中,一切東西都可以被當(dāng)作對象。例如我們創(chuàng)建一個(gè)字符串。

          var string='This is my string';

          • 獲取字符串的長度 采用length方法 var browserType='mozilla'; browserType.length;
          • 檢索特定的字符串字符
          • 在相關(guān)的注釋中,您可以使用方括號表示法返回字符串中的任何字符 - 這意味著您可以在變量名的末尾包含方括號([])。 在方括號內(nèi),您可以包含要返回的字符的編號,例如,您要檢索第一個(gè)字母,可以這樣做:

          browserType[0];

          電腦從0開始,不是1! 要檢索任何字符串的最后一個(gè)字符,我們可以使用下面這行,將這種技術(shù)與我們上面看到的length屬性相結(jié)合起來:

          browserType[browserType.length-1];

          mozilla”的長度為7,但由于計(jì)數(shù)從0開始,所以字符位置為6,因此需要長度為1。 例如,您可以使用它來查找一系列字符串的第一個(gè)字母,并按字母順序排列。

          • 在字符串中查找子字符串并提取它
          • 有時(shí)候你會想要找出一個(gè)較小的字符串是否存在于一個(gè)較大的字符串中(我們通常會說一個(gè)字符串中存在一個(gè)子字符串)。 這可以使用indexOf()方法來完成,該方法需要一個(gè)parameter — 你想要搜索的子字符串。 嘗試以下:
          • browserType.indexOf('zilla');
          • 結(jié)果是2,因?yàn)樽幼址皕illa”從“mozilla”內(nèi)的位置2(0,1,2 - 所以3個(gè)字符)開始。 這樣的代碼可以用來過濾字符串。 例如,假設(shè)我們有一個(gè)Web地址列表,但我們只想打印出包含“mozilla”的那些地址。
          • 這可以用另一種可能更有效的方式來實(shí)現(xiàn)。 嘗試以下:
          • browserType.indexOf('vanilla');
          • 這應(yīng)該會得到-1的結(jié)果 - 當(dāng)在主字符串中找不到子字符串(在本例中為“vanilla”)時(shí)返回-1。

          您可以使用它來查找不包含子串“mozilla”的所有字符串實(shí)例,或者如果使用否定運(yùn)算符,請執(zhí)行以下操作。 你可以這樣做:

          if(browserType.indexOf('mozilla') !==-1) {

          // do stuff with the string

          }

          當(dāng)你知道字符串中的子字符串開始的位置,以及想要結(jié)束的字符時(shí),slice()可以用來提取 它。 嘗試以下:

          browserType.slice(0,3);

          這時(shí)返回"moz"——第一個(gè)參數(shù)是開始提取的字符位置,第二個(gè)參數(shù)是提取的最后一個(gè)字符的后一個(gè)位置。所以提取從第一個(gè)位置開始,直到但不包括最后一個(gè)位置。(此例中)你也可以說第二個(gè)參數(shù)等于被返回的字符串的長度。

          此外,如果您知道要在某個(gè)字符之后提取字符串中的所有剩余字符,則不必包含第二個(gè)參數(shù),而只需要包含要從中提取的字符位置 字符串中的其余字符。 嘗試以下:

          browserType.slice(2);

          這返回“zilla” - 這是因?yàn)?的字符位置是字母z,并且因?yàn)闆]有包含第二個(gè)參數(shù),所以返回的子字符串是字符串中的所有剩余字符。

          • 轉(zhuǎn)換大小寫
          • 字符串方法toLowerCase()和toUpperCase()字符串并將所有字符分別轉(zhuǎn)換為小寫或大寫。 例如,如果要在將數(shù)據(jù)存儲在數(shù)據(jù)庫中之前對所有用戶輸入的數(shù)據(jù)進(jìn)行規(guī)范化,這可能非常有用。
          • 替換字符串的某部分
          • 您可以使用replace()方法將字符串中的一個(gè)子字符串替換為另一個(gè)子字符串。在基礎(chǔ)的層面上, 這個(gè)工作非常簡單。你當(dāng)然可以用它做一些更高級的事情,但目前我們不會涉及到。

          它需要兩個(gè)參數(shù) - 要被替換下的字符串和要被替換上的字符串。 嘗試這個(gè)例子:

          browserType.replace('moz','van');

          注意,在實(shí)際程序中,想要真正更新browserType變量的值,您需要設(shè)置變量的值等于剛才的操作結(jié)果;它不會自動更新子串的值。所以事實(shí)上你需要這樣寫:browserType=browserType.replace('moz','van');。

          數(shù)組

          數(shù)組通常被描述為“像列表一樣的對象”; 簡單來說,數(shù)組是一個(gè)包含了多個(gè)值的對象。數(shù)組對象可以存儲在變量中,并且能用和其他任何類型的值完全相同的方式處理,區(qū)別在于我們可以單獨(dú)訪問列表中的每個(gè)值,并使用列表執(zhí)行一些有用和高效的操作,如循環(huán) - 它對數(shù)組中的每個(gè)元素都執(zhí)行相同的操作。 也許我們有一系列產(chǎn)品和價(jià)格存儲在一個(gè)數(shù)組中,我們想循環(huán)遍歷所有這些產(chǎn)品,并將它們打印在發(fā)票上,同時(shí)將所有產(chǎn)品的價(jià)格統(tǒng)計(jì)在一起,然后將總價(jià)格打印在底部。

          如果我們沒有數(shù)組,我們必須將每個(gè)產(chǎn)品存儲在一個(gè)單獨(dú)的變量中,然后調(diào)用打印的代碼,并為每個(gè)產(chǎn)品單獨(dú)添加。 花費(fèi)的時(shí)間要長得多,效率很低,而且也容易出錯。 如果我們有 10 個(gè)產(chǎn)品需要添加發(fā)票,那就只是有點(diǎn)麻煩而已,但是 100 個(gè),或者 1000 個(gè)呢? 我們稍后將在文章中使用這個(gè)例子。

          創(chuàng)建數(shù)組

          數(shù)組由方

          括號構(gòu)成,其中包含用逗號分隔的元素列表。

          假設(shè)我們想在一個(gè)數(shù)組中存儲一個(gè)購物清單 - 我們會做一些像下面這樣的事情。 在您的控制臺中輸入以下行:

          var shopping=['bread', 'milk', 'cheese', 'hummus', 'noodles'];

          shopping;

          在這種情況下,數(shù)組中的每個(gè)項(xiàng)目都是一個(gè)字符串,但請記住,您可以將任何類型的元素存儲在數(shù)組中 - 字符串,數(shù)字,對象,另一個(gè)變量,甚至另一個(gè)數(shù)組。 您也可以混合和匹配項(xiàng)目類型 - 它們并不都是數(shù)字,字符串等。嘗試下面這些:

          var sequence=[1, 1, 2, 3, 5, 8, 13];

          var random=['tree', 795, [0, 1, 2]];

          訪問和修改數(shù)組

          然后,您可以使用括號表示法訪問數(shù)組中的元素,與 訪問字符串中的字符 的方法相同。

          在您的控制臺中輸入以下內(nèi)容:

          shopping[0];

          // returns "bread"

          您還可以簡單地為單個(gè)數(shù)組元素提供新值來修改數(shù)組中的元素。 例如:

          shopping[0]='tahini';

          shopping;

          PS:我們以前說過,但還是提醒一下 - 電腦從 0 開始計(jì)數(shù)!

          請注意,數(shù)組中包含數(shù)組的話稱之為多維數(shù)組。 您可以通過將兩組方括號鏈接在一起來訪問數(shù)組內(nèi)的另一個(gè)數(shù)組。 例如,要訪問數(shù)組中的另一個(gè)數(shù)組內(nèi)第三個(gè)元素的值(見上一節(jié)),我們可以這樣做:

          random[2][2];

          獲取數(shù)組長度

          你可以通過使用 length 屬性獲取數(shù)組的長度(數(shù)組中有多少項(xiàng)元素)。 嘗試以下代碼:

          sequence.length;

          // should return 7

          雖然 length 屬性也有其他用途,但最常用于循環(huán)(循環(huán)遍歷數(shù)組中的所有項(xiàng))。 例如:

          var sequence=[1, 1, 2, 3, 5, 8, 13];

          for (var i=0; i < sequence.length; i++) {

          console.log(sequence[i]);

          }

          字符串與數(shù)組之間的轉(zhuǎn)換

          通常,您會看到一個(gè)包含在一個(gè)長長的字符串中的原始數(shù)據(jù),您可能希望將有用的項(xiàng)目分成更有用的表單,然后對它們進(jìn)行處理,例如將它們顯示在數(shù)據(jù)表中。 為此,我們可以使用 split() 方法。 在其最簡單的形式中,這需要一個(gè)參數(shù),您要將字符串分隔的字符,并返回分隔符之間的子串,作為數(shù)組中的項(xiàng)。

          我們來玩一下這個(gè)方法,看看它是如何工作的。 首先,在控制臺中創(chuàng)建一個(gè)字符串:

          var myData='Manchester,London,Liverpool,Birmingham,Leeds,Carlisle';

          現(xiàn)在我們用每個(gè)逗號分隔它:

          var myArray=myData.split(',');

          myArray;

          最后,嘗試找到新數(shù)組的長度,并從中檢索一些項(xiàng)目:

          myArray.length;

          myArray[0]; // the first item in the array

          myArray[1]; // the second item in the array

          myArray[myArray.length-1]; // the last item in the array

          您也可以使用 join() 方法進(jìn)行相反的操作。 嘗試以下:

          var myNewString=myArray.join(',');

          myNewString;

          將數(shù)組轉(zhuǎn)換為字符串的另一種方法是使用 toString() 方法。 toString()可以比join()更簡單,因?yàn)樗恍枰粋€(gè)參數(shù),但更有限制。 使用 join() 可以指定不同的分隔符(嘗試使用與逗號不同的字符運(yùn)行步驟4)。

          var dogNames=["Rocket","Flash","Bella","Slugger"];

          dogNames.toString(); //Rocket,Flash,Bella,Slugger

          添加和刪除數(shù)組項(xiàng)

          我們還沒有涵蓋添加和刪除數(shù)組元素,現(xiàn)在讓我們來看看。 我們將使用在上一節(jié)中最后提到的 myArray 數(shù)組。 如果您尚未遵循該部分,請先在控制臺中創(chuàng)建數(shù)組:

          var myArray=['Manchester', 'London', 'Liverpool', 'Birmingham', 'Leeds', 'Carlisle'];

          首先,要在數(shù)組末尾添加或刪除一個(gè)項(xiàng)目,我們可以使用 push() 和 pop()。

          讓我們先使用 push() - 注意,你需要添加一個(gè)或多個(gè)要添加到數(shù)組末尾的元素。 嘗試下面的代碼:

          myArray.push('Cardiff');

          myArray;

          myArray.push('Bradford', 'Brighton');

          myArray;

          當(dāng)方法調(diào)用完成時(shí),將返回?cái)?shù)組的新長度。 如果要將新數(shù)組長度存儲在變量中。例如:

          var newLength=myArray.push('Bristol');

          myArray;

          newLength;

          從數(shù)組中刪除最后一個(gè)元素的話直接使用 pop() 就可以。 例如:

          myArray.pop();

          當(dāng)方法調(diào)用完成時(shí),將返回已刪除的項(xiàng)目。 你也可以這樣做:

          var removedItem=myArray.pop();

          myArray;

          removedItem;

          何簡單地,快樂地學(xué)習(xí)Java是該頭條號存在的意義,用最簡潔的語言,描述最有用的知識,從JavaSE到項(xiàng)目實(shí)戰(zhàn),層層推進(jìn),然我們走向人生巔峰。

          一、基本數(shù)據(jù)類型

          1、整數(shù)類型

          public class Demo01 {
           public static void main(String[] args) {
           // 定義一個(gè)int類型的變量a1
           int a1;
           // 給變量a賦值
           a1=1;
           System.out.println("a1="+a1);
           
           // 定義一個(gè)int類型的變量a2 并且賦值
           int a2=2;
           System.out.println("a2="+a2);
           
           // 定義一個(gè)byte類型的變量b并且賦值
           byte b=3;
           System.out.println("b="+b);
           
           // 定義一個(gè)short類型的變量s
           short s=4;
           System.out.println("s="+s);
           
           // 定義一個(gè)long類型的變量l
           long l=5;
           System.out.println("l="+l);
           
           int a11=1;
           int a22=2;
           // 簡單的一個(gè)表達(dá)式計(jì)算
           int a3=a11+a22;
           System.out.println("a11+a22="+a3);
           }
          }
          

          2、浮點(diǎn)類型

          public class Demo02 {
           public static void main(String[] args) {
           // 定義一個(gè)float類型變量f
           // 小數(shù)默認(rèn)是double類型,所以我們必須加一個(gè)f,來表示float類型
           float f=0.1f;
           System.out.println("f="+f);
           
           // 定義一個(gè)double類型變量d
           double d=1.2;
           // 快捷方式 syso alt+/
           System.out.println("d="+d);
           
           float maxF=Float.MAX_VALUE;
           System.out.println("float的最大值:"+maxF);
           }
          }
          

          3、字符類型

          字符類型主要用來存儲單個(gè)字符;

          Unicode表: http://www.cnblogs.com/whiteyun/archive/2010/07/06/1772218.html

          字符型常量有3種表示形式;

          1、直接通過單個(gè)字符來指定字符型常量,如'A','B','5';

          2、通過轉(zhuǎn)義字符表示特殊字符型常量,如'\n','\';

          3、直接使用Unicode值來表示字符型常量,如'\u4e24','\u4e39';

          public class Demo03 {
           
           public static void main(String[] args) {
           // 定義一個(gè)單個(gè)字符
           char c1='A';
           char c2='b';
           char c3='4';
           System.out.println("c1="+c1);
           System.out.println("c2="+c2);
           System.out.println("c3="+c3);
           
           // 轉(zhuǎn)義字符
           char c4='\\';
           System.out.println("c4="+c4);
           
           // 用Unicode編碼輸出漢字
           char c5='\u4e24'';
           char c6='\ u4e29'';
           System.out.println("c5="+c5);
           System.out.println("c6="+c6);
           }
          }
          

          4、布爾類型

          布爾類型只有true和false兩個(gè)值:

          public class Demo04 {
           
           public static void main(String[] args) {
           // 定義一個(gè)布爾類型的變量b
           boolean b1=true;
           System.out.println("b1="+b1);
           
           // 定義一個(gè)布爾類型的變量b2
           boolean b2=false;
           System.out.println("b2="+b2);
           }
          }
          

          5、基礎(chǔ)類型的轉(zhuǎn)換

          1、自動類型轉(zhuǎn)換

          條件:

          1,轉(zhuǎn)換前后的數(shù)據(jù)類型兼容;

          2,轉(zhuǎn)換后的數(shù)據(jù)類型的表示范圍要比轉(zhuǎn)換前的大;

          2、強(qiáng)制類型轉(zhuǎn)換

          數(shù)據(jù)類型不兼容,一種不安全的轉(zhuǎn)換;

          public class Demo05 {
           
           public static void main(String[] args) {
           // 自動類型轉(zhuǎn)換
           short s=1;
           int i;
           // 自動類型轉(zhuǎn)換 short類型轉(zhuǎn)成int類型
           i=s;
           System.out.println("i="+i);
           
           // 強(qiáng)制類型轉(zhuǎn)換
           double d=1.333;
           float f;
           // 把double類型的數(shù)據(jù)強(qiáng)制轉(zhuǎn)換成float類型
           f=(float)d;
           System.out.println("f="+f);
           
           }
          }
          

          二、運(yùn)算符與表達(dá)式

          1、賦值運(yùn)算符

          符號 "=" (賦值):

          public class Demo06 {
           
           public static void main(String[] args) {
           // 定義變量a
           int a;
           // 給變量a賦值
           a=1;
           System.out.println("a="+a);
           
           // 定義變量a,并且給a賦值
           int a2=2;
           System.out.println("a2="+a2);
           }
          }
           
          

          2、算數(shù)運(yùn)算符

          在java中 算數(shù)運(yùn)算符有:+ (加);- (減);* (乘);/ (除);%(取模);取模其實(shí)就是求余數(shù)

          public class Demo7 {
           
           public static void main(String[] args) {
           int a=10;
           int b=3;
           // +運(yùn)算符
           System.out.println(a+"+"+b+"="+(a+b));
           // -運(yùn)算符
           System.out.println(a+"-"+b+"="+(a-b));
           // *運(yùn)算符
           System.out.println(a+"*"+b+"="+(a*b));
           // /運(yùn)算符
           System.out.println(a+"/"+b+"="+(a/b));
           // %運(yùn)算符
           System.out.println(a+"%"+b+"="+(a%b));
           
           }
          }
          

          3、自增與自減運(yùn)算符

          符號:

          ++(自增); --(自減)

          a++是先操作后加1;

          ++a是先加1后操作;

          public class Demo08 {
           
           public static void main(String[] args) {
           int a1=1;
           // a1++; 表示先做賦值操作,后自增
           int b1=a1++;
           System.out.println("b1="+b1);
           System.out.println("a1="+a1);
           
           System.out.println("===================");
           // ++a2;表示先自增,后做賦值操作
           int a2=1;
           int b2=++a2;
           System.out.println("b2="+b2);
           System.out.println("a2="+a2);
           
           }
          }
          

          三、邏輯運(yùn)算符

          符號:

          && 與 ;&& 與 前后兩個(gè)操作數(shù)必須都是true才返回true,否則返回false

          & 不短路與 ; & 不短路與 表達(dá)式都會執(zhí)行到

          || 或; || 或 只要兩個(gè)操作數(shù)中有一個(gè)是true,就返回true,否則返回false

          |不短路或 ;| 不短路 或 表達(dá)式都會執(zhí)行到

          !非;! 非 ,如果操作數(shù)為true,返回false,否則,返回true

          ^異或;^ 異或 ,當(dāng)兩個(gè)操作數(shù)不相同時(shí)返回true,返回false

          public class Demo09 {
           
           public static void main(String[] args) {
           // && 與 前后兩個(gè)操作數(shù)必須都是true才返回true,否則返回false
           boolean b1=(5<3)&&(4>5);
           System.out.println("b1="+b1);
           
           // & 不短路與
           boolean b2=(5<3)&(4>5);
           System.out.println("b2="+b2);
           
           // 一般都用&& 短路 
           // 原因:效率高
           
           // || 或 只要兩個(gè)操作數(shù)中有一個(gè)是true,就返回true,否則返回false
           boolean b3=(2<3)||(4>5);
           System.out.println("b3="+b3);
           
           // | 不短路 或
           boolean b4=(2<3)|(4>5);
           System.out.println("b4="+b4);
           
           // ! 非 ,如果操作數(shù)為true,返回false,否則,返回true
           boolean b5=!(3<4);
           System.out.println("b5="+b5);
           
           // ^ 異或 ,當(dāng)兩個(gè)操作數(shù)不相同時(shí)返回true,返回false
           boolean b6=(5>4)^(4>5);
           System.out.println("b6="+b6);
           }
          }
          

          四、關(guān)系運(yùn)算符

          符號:

          > 大于;

          < 小于;

          >=大于等于;

          <=小于等于;

          ==等于;

          !=不等于;

          public class Demo10 {
           
           public static void main(String[] args) {
           int a=2;
           int b=3;
           
           // >大于
           System.out.println(a+">"+b+":"+(a>b));
           
           // <小于
           System.out.println(a+"<"+b+":"+(a<b));
           
           // >=大于等于
           System.out.println(a+">="+b+":"+(a>=b));
           
           // <=小于等于
           System.out.println(a+"<="+b+":"+(a<=b));
           
           //==等于
           System.out.println(a+"=="+b+":"+(a==b));
           
           // !=不等于
           System.out.println(a+"!="+b+":"+(a!=b));
           }
          }
          

          Java學(xué)習(xí)之樂官網(wǎng):http://www.java68.cn,有更多驚喜等待你的發(fā)現(xiàn)喲!!!

          運(yùn)算符=用于賦值。

          運(yùn)算符 + 用于加值。

          運(yùn)算符=用于給 JavaScript 變量賦值。

          算術(shù)運(yùn)算符 + 用于把值加起來。

          實(shí)例

          指定變量值,并將值相加:

          y=5;

          z=2;

          x=y+z;

          在以上語句執(zhí)行后,x 的值是:

          7

          JavaScript 算術(shù)運(yùn)算符

          <p算術(shù)運(yùn)算符用于執(zhí)行變量與 或值之間的算術(shù)運(yùn)算。="" <="" p="" style="color: rgb(51, 51, 51); font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, STHeiti, 'Microsoft Yahei', sans-serif; font-size: 12px; line-height: normal; white-space: normal;"><p給定y=5,下面的表格解釋了這些算術(shù)運(yùn)算符:

          運(yùn)算符描述例子x 運(yùn)算結(jié)果y 運(yùn)算結(jié)果在線實(shí)例
          +加法x=y+275實(shí)例 ?
          -減法x=y-235實(shí)例 ?
          *乘法x=y*2105實(shí)例 ?
          /除法x=y/22.55實(shí)例 ?
          %取模(余數(shù))x=y%215實(shí)例 ?
          ++自增x=++y66實(shí)例 ?
          x=y++56實(shí)例 ?

          --自減x=--y44實(shí)例 ?
          x=y--54實(shí)例 ?

          JavaScript 賦值運(yùn)算符

          賦值運(yùn)算符用于給 JavaScript 變量賦值。

          給定 x=10 和 y=5,下面的表格解釋了賦值運(yùn)算符:

          運(yùn)算符例子等同于運(yùn)算結(jié)果在線實(shí)例
          =x=yx=5實(shí)例 ?
          +=x+=yx=x+yx=15實(shí)例 ?
          -=x-=yx=x-yx=5實(shí)例 ?
          *=x*=yx=x*yx=50實(shí)例 ?
          /=x/=yx=x/yx=2實(shí)例 ?
          %=x%=yx=x%yx=0實(shí)例 ?

          用于字符串的 + 運(yùn)算符

          + 運(yùn)算符用于把文本值或字符串變量加起來(連接起來)。

          如需把兩個(gè)或多個(gè)字符串變量連接起來,請使用 + 運(yùn)算符。

          實(shí)例

          如需把兩個(gè)或多個(gè)字符串變量連接起來,請使用 + 運(yùn)算符:

          txt1="What a very";

          txt2="nice day";

          txt3=txt1+txt2;

          txt3 運(yùn)算結(jié)果如下:

          What a verynice day

          要想在兩個(gè)字符串之間增加空格,需要把空格插入一個(gè)字符串之中:

          實(shí)例

          txt1="What a very ";

          txt2="nice day";

          txt3=txt1+txt2;

          在以上語句執(zhí)行后,變量 txt3包含的值是:

          What a very nice day

          或者把空格插入表達(dá)式中::

          實(shí)例

          txt1="What a very";

          txt2="nice day";

          txt3=txt1+" "+txt2;

          在以上語句執(zhí)行后,變量txt3 包含的值是:

          What a very nice day

          對字符串和數(shù)字進(jìn)行加法運(yùn)算

          兩個(gè)數(shù)字相加,返回?cái)?shù)字相加的和,如果數(shù)字與字符串相加,返回字符串,如下實(shí)例:

          實(shí)例

          x=5+5;

          y="5"+5;

          z="Hello"+5;

          x,y, 和 z 輸出結(jié)果為:

          10

          55

          Hello5

          規(guī)則:如果把數(shù)字與字符串相加,結(jié)果將成為字符串!

          如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!


          主站蜘蛛池模板: 高清在线一区二区| 国产成人av一区二区三区在线观看 | 日本高清无卡码一区二区久久| 中文字幕国产一区| 亚洲一区二区三区乱码A| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 国产成人无码AV一区二区在线观看 | 国产AV午夜精品一区二区三| 丝袜人妻一区二区三区| 亚洲国产精品无码久久一区二区| 无码人妻一区二区三区精品视频| 亚洲高清偷拍一区二区三区| 日本一区午夜艳熟免费| 波多野结衣一区二区三区aV高清| 亚洲欧洲一区二区| 日本v片免费一区二区三区 | 国产在线无码一区二区三区视频| 亚洲一区二区三区亚瑟| 蜜臀AV在线播放一区二区三区| 国产av一区最新精品| 中文字幕Av一区乱码| 日本一区二区在线播放| 韩国精品福利一区二区三区| 久久久国产一区二区三区| 中文字幕在线不卡一区二区| 精品乱码一区二区三区在线| 无码国产精品一区二区免费16| 亚洲AV日韩AV一区二区三曲| 色噜噜一区二区三区| 亚洲日本一区二区| 一区二区三区日本视频| 中文字幕一区二区三区精彩视频 | 北岛玲在线一区二区| 久久国产精品亚洲一区二区| 国模极品一区二区三区| 无码人妻精品一区二区| chinese国产一区二区| 亚洲日韩精品国产一区二区三区| 久久久久国产一区二区三区| 韩国精品一区二区三区无码视频| 久久4k岛国高清一区二区|