JavaScript 藝術之美(一)序言和 JavaScript 語法(卞懂的學習筆記)

零、前言

錯過了今年雙11、雙十二噹噹圖書網的半價優惠,挺遺憾,但不買書內心又癢癢的,後來在12月13號晚上以79折買了一些JavaScript的經典書籍:《JavaScript DOM編程藝術(第2版)》、《 JavaScript高級程序設計(第3版)》、《鋒利的jQuery(第2版)》和幾本其餘編程的書,由於以前JavaScript掌握得不是很好,因此得靠着幾本書來提升我對JavaScript的掌握度。 要學會一門技術的途徑挺多的:學校授課、網絡(在線)視頻課程、看相關書籍等等,我比較喜歡看書和逛相關博客,視頻課程次之(雖然我從未把一套網絡課程學個完全),個人總結是這樣的:看視頻效果是最好的,可是不作筆記和練習代碼基本上是學多少忘多少,再就是看視頻時會犯困和走神等等(好在能夠回放),看書雖然有些地方會一時半會兒沒法理解,不過多看幾遍就能看懂的,大不了上某度找找答案未嘗不是一件好事?看書好在能夠在書上勾勾畫畫、作作筆記,忘了隨時想翻就翻,還能夠當一本新華字典用,先用2.0倍加速把視頻過一遍,在用0.5倍速度把書裏的相關章節嚼上幾遍,嚼的同時上機實戰,這門技術不掌握也難啊(理想中狀態)! 扯了這麼多,回到正題,最近我對前端的熱度直線增加,提升個人JavaScript水平是必須的,經過看書來提升是必須的,哪叫我買下了這些書呢,記筆記和練習也是必須的,由於買不起筆記本也懶得動筆,因此我把博客當成個人學習筆記本,把從書裏(也包括相關博客、視頻)學到的JavaScript系列知識總結整理後寫進博客,同時也同步到github裏,方便往後查閱和鞏固,也達到了共享的目的。而後我給個人這系列JavaScript博文暫時命名爲「JavaScript藝術之美」,以章節的形式來總結知識,而後會不按期的更新系列博文以及糾正以前博文中的錯誤和新方法。固然這系列博文也會經過目錄方式用超連接聯繫起來方便跳轉, 每次更新的博文也會同步到Github上:https://github.com/bcdon/JavaScript_studyjavascript

1、JavaScript 簡史

百度百科很全,移步:JavaScript 百度百科html

2、在 HTML 中插入 JavaScript

// 法1.直接使用
<script>...</script>
// 法2.使用外部文件
<script src="myScript.js"></script>
// 法3.老傳統
<script type="text/javascript">...</script>
  • 現代瀏覽器以及 HTML5 中的默認腳本語言是 JavaScript,因此不必設置 type="text/javascript"。
  • script 標籤可位於 HTML 的 body 或 head 部分,最好的作法是放在html文檔最後,</body> 以前。

3、註釋

// 法1.單行註釋
/* 法2.多行註釋第一行
	第二行 */
<!-- 法3.html風格,單行註釋,通常不推薦

4、變量

  • 人們把那些會發生變化的東西稱爲變量,把值存入變量的操做稱爲賦值,使用 var 關鍵詞來聲明變量。
  • JavaScript容許直接對變量賦值而無需事先聲明,若是對某個變量賦值以前未聲明,賦值操做將自動聲明該變量。
// 變量聲明
	var name1;
	var name2;
// 用一條語句一次聲明多個變量
	var name1, name2;
// 先聲明後賦值
	var name1, name2;
	name1 = "value1";
	name2 = "value2";
// 一石二鳥,聲明同時賦值
	var name1 = "value1";
	var name2 = "value2";
// 也能夠這樣,最佳作法
	var name1 = "value1", name2 = "value2";
  • 在JavaScript 裏變量和其餘語法元素的名字都是區分字母大小寫的
  • JavaScript 語法不容許變量名中包含空格或除美圓符號"$"外的標點符號。
  • JavaScript 變量名容許包含字母、數字、下劃線和美圓符號「$」,第一個字符不容許是數字,能以 $ 和 _ 符號開頭(不過咱們不推薦這麼作)

駝峯式和下劃線規範:

聲明變量用下劃線連接多個單詞,函數名、方法名和對象屬性名命名首選駝峯格式前端

5、數據類型

在聲明變量的同時聲明變量的數據類型,這種作法稱爲 類型聲明,必須明確類型聲明的語言稱爲強類型語言,JavaScript不須要進行類型聲明,所以它是一種弱類型語言。java

1.字符串

字符串由零個或多個字符構成,必須包在單引號或雙引號內:git

var mood = "happy";
var mood = 'happy';

有的狀況下須要在字符串裏對字符進行轉義,在JavaScript裏用反斜線對字符串進行轉義:github

var mood = 'don\'t ask';

2.數值

JavaScript 只有一種數字類型。數字能夠帶小數點(浮點數),也能夠不帶(整數):編程

var x1 = 34.00;        //使用小數點來寫
var x2 = 34;              //不使用小數點來寫

在有關數值的前面加上一個減號「-」表示他是一個負數:數組

var x1 = -34.00;          //負浮點數
var x2 = -34;             //負整數

極大或極小的數字能夠經過科學(指數)計數法來書寫:瀏覽器

var y = 123e5;             // 12300000
var z = 123e-5;           // 0.00123

3.布爾值

布爾(邏輯)只有兩個可選值:true 或 false。網絡

var x = true;
var y = false;

6、數組

數組是指用一個變量表示一個值的集合,集合中的每一個值都是這個數組的一個元素。 數組能夠用關鍵字 Array 聲明,同時還能夠指定數組初始元素個數(數組的長度):

var my_array = Array(4);      //指定長度,沒必要須
var my_array1 = Array();      //不指定長度

向數組中添加元素操做稱爲填充:

var cars = new Array();
cars[0] = "Audi";    //數組的下標是從0開始計數的
cars[1] = "BMW";
cars[2] = "Volvo";

聲明數組的同時對他進行填充,用逗號把各個元素隔開:

var cars = new Array("Audi","BMW","Volvo");

甚至用不着明確代表是在建立數組,需用一對方括號把各個元素的初始值括起來:

var cars = ["Audi","BMW","Volvo"];

數組元素沒必要非得是字符串:

var cars = ["Audi", 1998, false];   // 3種數據類型,依次爲 字符串、數值、布爾值
// 還能夠是變量
var name1 = "John";
cars[0] = name1;  // 把cars數組的第一個元素賦值爲字符串"John"
// 數組元素的值還能夠是另外一個數組的元素
var name1 = ["Audi","BMW","Volvo"];
cars[1] = name1[2];      // 把name1數組的第3個元素值"Volvo"賦給cars的第二個元素

數組還能夠包含其餘數組,數組中的任何一個元素均可以把一個數組做爲它的值:

var cars = ["Audi", 1998, false];
var name1 = [];
name1[0] = cars; // name1數組的第一個元素值是cars數組

經過name1數組得到cars數組裏的某個元素:name1[0][0] 的值是字符串"Audi",name1[0][1] 的值是數值 1998,name1[0][2] 的值是布爾值 false。

關聯數組:

能夠經過在填充數組時爲每一個新元素明確地給出下標來改變這種默認行爲,在新元素給出下標時沒必要侷限於使用整數數字,能夠用字符串:

var cars = new Array();
cars["name"] = "Audi";
cars["year"] = 1998;
cars["living"] = false;

在JavaScript中,全部的變量實際上都是某種類型的對象。

7、對象

JavaScript 中的全部事物都是對象:字符串、數字、數組、日期,等等。對象是擁有屬性和方法的數據,對象也是使用一個名字表示一組值,每一個值都是對象的一個屬性:

person=new Object();   // 建立對象使用Object關鍵字
person.firstname="Bill";  // 使用點號獲取屬性
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";

花括號語法建立對象:

var person={firstname="Bill",lastname="Gates",age=56};

屬性是與對象相關的值,方法是可以在對象上執行的動做。 下面用person對象填充cars數組,使用 cars[0].firstname獲得值"Bill":

var cars = new Array();
var person={firstname="Bill",lastname="Gates",age=56};
cars[0] = person;

下面將cars數組也聲明爲對象:

var cars = {};
var person={firstname="Bill",lastname="Gates",age=56};
cars.firstCars = person;

使用 cars.firstCars.firstname獲得值"Bill",依次類推。

相關文章
相關標籤/搜索