javascript
JavaScript 第二课 JavaScript语法
- 語句
- 變量和數(shù)組
- 操作符
- 條件語句和循環(huán)語句
- 函數(shù)與對象
-------------------------------------------------------------
準(zhǔn)備:
編寫JavaScript腳本只需要一個(gè)普通地文本編輯器和一個(gè)Web瀏覽器就足啦。
用JavaScript編寫的代碼必須通過HTML/XHTML文檔才能執(zhí)行,有兩種方式可以做到這點(diǎn)。
1、第一種是將JavaScript代碼放到文旦<head>標(biāo)簽中的<script>標(biāo)簽之間:
<!DOCTYPE html> <html lang = "en"> <head><meta charset = "utf-8"/><title>example</title><script>JavaScript goes here</script> </head> <body>Mark-up goes here... </body></html>2、一種更好的方式是將JavaScript代碼存為一個(gè)擴(kuò)展名為.js的獨(dú)立文件。典型的做法是在文檔的<head>部分放一個(gè)<script>標(biāo)簽
并把它的src屬性指向該文件:
<!DOCTYPE html> <html lang = "en"> <head><meta charset = "utf-8"/><title>example</title><script src = "file.js"></script> </head> <body>Mark-up goes here... </body></html>3、但是最好的做法是把<script>標(biāo)簽放在HTML文檔的最后,</body>標(biāo)簽之前:
<!DOCTYPE html> <html lang = "en"> <head><meta charset = "utf-8"/><title>example</title></head> <body>Mark-up goes here...<script src = "file.js"></script> </body></html>這樣可以更快的加載頁面。why?程序設(shè)計(jì)語言分為:解釋型和編譯型兩大類。
java或c++等語言需要一個(gè)編譯器(compile)。編譯器是一種程序,能夠把用Java等高級語言編寫出來的源代碼翻譯為直接在計(jì)算機(jī)上執(zhí)行的文件。
解釋型程序設(shè)計(jì)語言不需要編譯器----它們僅需要解釋器。對于JavaScript語言,在互聯(lián)網(wǎng)環(huán)境下,Web瀏覽器負(fù)責(zé)完成有關(guān)的解釋和執(zhí)行工作。瀏覽器中的JavaScript解釋器將直接讀入源代碼并執(zhí)行。瀏覽器中如果沒有解釋器,JavaScript代碼就無法執(zhí)行。
| 編譯型程序設(shè)計(jì)語言(Java、c) | 解釋性程序設(shè)計(jì)語言(JavaScript、Python) |
| 需要編譯器(Compiler)編譯器是一種程序,能夠把用Java等高級語言編寫出來的源代碼翻譯為直接在計(jì)算機(jī)上執(zhí)行的文件。 | 不需要編譯器,僅需要解釋器,Web瀏覽器負(fù)責(zé)完成有關(guān)的解釋和執(zhí)行工作。瀏覽器中的JavaScript解釋器將直接讀入源代碼并執(zhí)行。 |
| 在代碼編譯階段可以發(fā)現(xiàn)錯(cuò)誤 | 等到解釋器執(zhí)行到有關(guān)代碼時(shí)才發(fā)現(xiàn) |
| 速度快,可移植性好 | ? |
| ? | ? |
在語法方面,JavaScript與Java和C++極為相似。
注釋:在HTML文檔中,使用<!-這是JavaScript中的注釋->方式來進(jìn)行注釋。在JavaScript使用//或/* */進(jìn)行注釋。
變量:提前聲明變量是一種良好的編程習(xí)慣。例如:var mood;? (var 是一個(gè)關(guān)鍵字)
變量名的要求:區(qū)分大小寫,不允許包含空格或標(biāo)點(diǎn)符號(美元符號"$"除外)。允許包含字母、數(shù)字、美元符號和下劃線(但第一個(gè)數(shù)字不允許是數(shù)字)。可采取駝峰式命名法(camel case)。
數(shù)據(jù)類型:
必須明確數(shù)據(jù)類型聲明的語言稱為強(qiáng)類型(strong typed)語言。JavaScript不需要進(jìn)行類型聲明,因此他是一種弱類型(weakly typed) 語言。這意味我們可以在任何階段改變變量的數(shù)據(jù)類型。就是說對于一個(gè)變量,JavasScript并不在意它是一個(gè)字符串還是一個(gè)數(shù)或是一個(gè)布爾值。
JavaScript數(shù)據(jù)類型分為:字符串、數(shù)值、布爾值
1、字符串:包含零個(gè)或多個(gè)字符組成,字符包括(不限于)字母、數(shù)字、標(biāo)點(diǎn)符號和空格。字符串必須包在引號里,可以是單引號或是雙引號,期間可能會(huì)使用到轉(zhuǎn)義字符(反斜線\),反斜線并不是字符串的一部分。一個(gè)好的編程習(xí)慣是使用雙引號來保住字符串。
2、數(shù)值:浮點(diǎn)、整數(shù)、負(fù)數(shù)、、
3、布爾值:兩個(gè)可選值、true或者是false。
從某種意義上將,計(jì)算機(jī)設(shè)計(jì)程序就是與布爾值打交道,所有的電子電路只能識別和使用布爾數(shù)據(jù):電路中有還是沒有電流。
布爾值不是字符串。
數(shù)組:
字符串、數(shù)值還是布爾值都是標(biāo)量(scalar),如果某個(gè)變量是標(biāo)量,它在任意時(shí)刻就只能有一個(gè)值。
數(shù)組可以用一個(gè)變量來存儲(chǔ)一組值,在JavaScript中,數(shù)組可以用關(guān)鍵字Array聲明。聲明數(shù)組的同時(shí)可以指定數(shù)組的長度(length)例如:var beatles = Array(4);
另外也可以不聲明數(shù)組的長度,例如:var? beatles = Array();
我們甚至用不著明確我們是在創(chuàng)建數(shù)組。例如: var beatles = ["John","Paul","George",“Ringo”];
對象
數(shù)組是使用一個(gè)名字表示一組值,對象的每個(gè)值都是對象的屬性。例如:
var lennon = Object();
lennon.name = "Jonh";
lennon.year = "1940";
lennon.living = "false";
創(chuàng)建對象使用Object關(guān)鍵字。它不使用方括號和下標(biāo)來獲取元素,而是像任何JavaScript對象一樣,使用點(diǎn)號來獲取屬性。
創(chuàng)建對象還有更簡潔的語法:就是花括號語法:
{propertyName:value,prpertyName:value}
lennon對象也可以寫成下面這樣: var lennon = {name:"John",living:false};
對象是一種非常重要的數(shù)據(jù)類型,對象是自包含的數(shù)據(jù)集合,包含在對象里的數(shù)據(jù)通過兩種形式訪問:屬性(property)和方法(method):
屬性就是隸屬于某個(gè)特定對象才能調(diào)用的變量;
方法是只有某個(gè)特定對象才能調(diào)用的函數(shù)。對象就是由一些屬性和方法組合在一起而構(gòu)成的一個(gè)數(shù)據(jù)實(shí)體。
在JavaScript里,屬性和方法都使用“點(diǎn)”語法來訪問:
Object.property
Object.method()
JavaScript中提供了一系列預(yù)先定義好的對象,這些可以拿來用的對象就稱為內(nèi)建對象(native object)。
數(shù)組就是一個(gè)內(nèi)建對象,當(dāng)我們使用new關(guān)鍵字去初始化一個(gè)數(shù)組時(shí),其實(shí)就是在創(chuàng)建一個(gè)Array對象的新實(shí)例:
var beatles = new Array();
我們可以使用Array對象的length屬性來獲得數(shù)組的長度:beatles.length;
Array對象只是諸多JavaScript內(nèi)建對象的一種,其他例子包括Math對象和Date對象,它們分別提供了非常有用的方法供人們處理數(shù)值和日期值,例如:Math對象的round方法可以把十進(jìn)制數(shù)值舍入為一個(gè)與之最接近的整數(shù):
var num = 7.561;
var num = Math.round(num);
alert(num);
Data對象可以用來存儲(chǔ)和檢索于特定日期和時(shí)間有關(guān)的信息。創(chuàng)建Date對象的新實(shí)例時(shí),JavaScript解釋器將自動(dòng)地使用當(dāng)前日期和時(shí)間對它進(jìn)行初始化:
var current_data = new Date();
Date對象提供了getDay()、gethHours()、getMonth()等一系列方法;以供人們用來檢索于特定日期有關(guān)的信息。例如:
getDay()方法可以告訴我們給定日期是星期幾:
var today = current_data.getDay();
宿主對象
除了內(nèi)建對象,還可以在JavaScript腳本里使用一些已經(jīng)預(yù)先定義好的其他對象。這些對象不是由JavaScript語言本身而是由它的運(yùn)行環(huán)境提供的。具體到Web應(yīng)用,這個(gè)環(huán)境就是瀏覽器。由瀏覽器提供的預(yù)定義對象稱為宿主對象(host object)。
宿主對象包括Form、Image和Element 等。我們可以通過這些對象去獲取網(wǎng)頁上表單、圖像和各種表單元素等信息。
另一種宿主對象也是用來獲得網(wǎng)頁上的任何一個(gè)元素的信息,就是document對象。
總結(jié)
以上是生活随笔為你收集整理的JavaScript 第二课 JavaScript语法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 第十九课 大喇叭--广
- 下一篇: gradle idea java ssm