JavaScript是一門跨平臺、面向對象的輕量級腳本語言,運行於JavaScript解釋器或者引擎中。
JavaScript中,包括三個主要的部分
1.核心語法內容(ECMAScript)
2.文檔對象模型(DOM)
3.瀏覽器對象模型(BOM)瀏覽器
console控制檯函數
1.console.log() 向標準輸出流打印字符並以換行符結束。
2.console.log() 向標準輸出流打印信息性消息。輸出文字外,會顯示一個藍色的驚歎號。
3.console.log() 向標準輸出流打印警告性信息。輸出文字外,會顯示一個黃色的驚歎號。
4.console.log() 向標準輸出流打印錯誤性信息。輸出文字外,會顯示一個紅色的叉子。spa
JavaScript的基本語法code
1.區分大小寫
JavaScript是一種區分大小寫的語言。這意味着JavaScript的關鍵字、變量名、函數名以及任何其餘的標識符必須使用一直的大小寫的形式。對象
var wolongxueyuan = '臥龍學苑'; console .log(wolongxueyuan); var Wolongxueyuan = 'Wolongxueyuan'; console .log(Wolongxueyuan); var WoLongxueyuan = 'WoLongxueyuan'; console .log(WoLongxueyuan);
2.空格與換行
JavaScript會忽略出如今代碼中的空格、製表符和換行符,在編寫代碼時,靈活領用空格和換行符是的代碼的可讀性更高圖片
3.可選的分號
在JavaScript中,每個語句通常是以分號結尾的,分號表示這條JavaScript語句的結束。可是,JavaScript也容許將分號忽略。建議在編寫代碼時,不省略結尾的分號,來使代碼的可讀性更高。ip
4.註釋
在JavaScript中常常是使用註釋來爲代碼添加說明。快捷鍵Ctrl+Shift+?。內存
關鍵字與保留字文檔
關鍵字
JavaScript定義了一組具備特定用途的關鍵字,這些關鍵字可用於表示語句的開始或者結束、或執行特德操做等。也就是說,定義變量名、函數名或對象名是不能使用這些名稱。字符串
保留字
JavaScript除了定義了一組關鍵字,還定義了一組一樣不能做爲變量名、函數名或對象名的保留字。保留字可能會在未來做爲新的關鍵字出現的。
字符集
字符集就是各類文字和符號的總稱,包括各國的文字、標點符號、圖形符號、數字內容。字符集十多個字符的集合,字符集的種類繁多,每一個字符集包含的字符個數不一樣。
變量與常量
變量
定義:變量是存儲數據信息的容器。
描述:變量被認爲是有名字的容器。在代碼中,使用變量名爲值命名,須要遵照必定的規則。
注意:1.在JavaScript代碼中,必須先聲明一個變量,這個變量才能被使用。
2.JavaScript中,變量是弱類型,也被稱爲鬆散類型。所謂弱類型/鬆散類型就是能夠保存任何類型的數據。
語法結構:var 變量名稱 = 變量的值;
1.定義變量,並初始化值
var v = '臥龍學苑'; /*定義變量-變量的定義,而且初始化值*/ console .log (v);/*調用變量*/
2.定義變量,可是沒有初始化值
var v1;/*只是定義變量,沒有初始化*/ console .log(v1);/*結果爲undefined (未定義)*/
3.多個變量同時定義,變量之間用逗號分隔
var v2=100, v3=20; console .log(v2);/*100*/ console .log(v3);/*20*/
4.重複定義
在JavaScript中語法是容許重複定義變量的。重複定義時,先將以前的變量在內存的空間進行銷燬。
var v='臥龍學苑'; console .log(v);/*輸出結果爲臥龍學苑*/ var v=100; console .log (v);/*輸出結果爲100*/
5.重複的賦值
var v = '臥龍學苑'; console .log(v);/*臥龍學苑*/ var v ='100'; console .log(v);/*100*/
6.遺漏的定義
a.變量沒有定義,而直接調用
結果;報錯,變量名 is not defined
console .log(v);
b.只定義變量,但不初始化值
不會報錯,可是輸出的結果爲undefined
var v1; console .log(v1);/*undefined*/
常量
定義:常量就是一個只讀(only-read)的變量。
描述:常量與變量相似,一樣用於存儲數據信息。只是常量的數據一旦被定義,便不能被修改。
注意:1.常量名習慣使用全大寫的形式。
2.ECMAScript5新增了聲明常量使用的關鍵字const。 3.若是省略const關鍵字,JavaScript會認爲是一個變量。 4.若是重複賦值就會報錯 TypeError:Assignment to constant variable. 5.重複定義(常量或者變量)就會報錯 SyntaxError:Identifier '變量名'has already been declared
在定義常量或者變量時,能夠省略修飾符(var或const),省略後定義的默認爲變量。(不建議使用)
常量在定義時,必需要初始化值。若是之定義不初始化值,就會報錯:SyntaxError: Missing initializer in const declaration
常量與變量的區別
變量
1.定義變量使用var關鍵字
2.定義變量建議使用小寫
3.變量容許重複定義或重複賦值
4.變量容許只定義,但不初始化值
5.變量的值容許改變
常量
1.定義常量使用const關鍵字
2.定義常量建議使用大寫
3.常量不容許重複定義或者重複賦值
4.常量必須定義並初始化值
5.常量的值不容許改變
數據類型
定義:在JavaScript代碼中,可以表示並操做的值的類型稱之爲數據類型。
數據類型的分類
1.原始類型(又稱原始值)
2.引用類型(又稱內置對象)
3.包裝類型
4.特殊類型
(包裝類型能夠分到引用類型中,特殊類型能夠分到原始類型中)
原始類型的概述
原始類型,又稱爲原始值,是直接表明JavaScript語言實現的最低層的數據
一.number類型(整數和浮點數)
在JavaScript中,不區分整數與浮點數
var num =100; console .log(num);/*100*/
浮點類型
var num1 = 0.1; console .log(num1);/*0.1*/ var num2 = .1; console .log(num2);/*0.1*/ var num3 = 10.1; console .log(num3);/*10.1*/ var num4 = 10.0; console .log(num4);/*10*/ var num5 = 10.; console .log(num5);/*10*/
在JavaScript中,.1能夠表示爲0.1(不推薦使用),10.0表示成10,10.會被表示成10。
浮點類型計算的偏差
number類型中的小數,在計算中可能會出現偏差
1.並非全部的小數計算都會出現偏差。
2.在小數計算時,注意結果的是否出現偏差。
解決方法:經過數字值的計算,將其轉換成整數進行計算,再將結果轉換爲小數。
NaN
NanN是number類型中存在的特殊值
含義:表示當前值不是一個數字值。
類型:依舊是number類型。
特色: NaN與任何值(包括自身)都不相等。
var num = Number ('臥龍學苑'); console .log (num);/*NaN*/
無窮大(正無窮大;負無窮大)
1.無窮大與另外一個無窮大是不相等的。
2.一個無窮大減去另外一個無窮大不等於零。
var num = 98/0; console .log(num);/*Infinity*/
二.string類型
JavaScript中字符串就是由單引號或雙引號包裹的,單引號與雙引號沒有任何區別,建議使用單引號。
var str1 = '臥龍學苑'; var str2 = "臥龍學苑"; console .log(str1);/*臥龍學苑*/ console .log(str2);/*臥龍學苑*/
若是文本自己須要單引號或者雙引號
1.若是須要的是雙引號,字符串只能使用單引號
2.若是須要的是單引號,字符串只能使用雙引號
var str3 = '"臥龍學苑"'; var str4 = "'臥龍學苑'"; console .log(str3);/*"臥龍學苑"*/ console .log(str4);/*'臥龍學苑'*/
轉義字符
string類型包含一些特殊的轉義字符,用於表示非打印字符。
三.boolean類型
布爾(boolen)類型只有兩個值1.true 2.false(均爲小寫)
var boo1 = true; console .log(boo1);/*ture*/
若是大寫活着大小寫混合,JavaScript識別爲另外一個變量名稱。
typeof運算符
如何判斷變量的值的類型?使用typeof運算符(只能使用在原始類型中)
語法結構:typeof 變量名稱
結果:原始類型的名稱(名稱是string類型)
var num = 100; var boo = true; var str = '臥龍學苑'; console.log(typeof num);// number console.log(typeof boo);// boolean console.log(typeof str);// string
包裝類型
概述:對應原始類型提供了包裝類型,經過包裝類型能夠建立原始類型的對象。
一.Number類型
Number類型是一種構造函數方式
var num1 = new Number(100); console.log(num1);/* [Number: 100] */
二.String類型
var str1 = new String('臥龍學苑'); console.log(str1);/*[String: '臥龍學苑']*/
三.Boolean類型
var boo1 = new Boolean(true); console.log(boo1);/*[Boolean: true]*/
instanceof運算符
instanceof運算符用於判斷引用類型(只能用於包裝類型)
console.log(str instanceof String);// true
typeof運算符與instanceof運算符的區別
typeof運算符 1.用於判斷原始類型 2.語法結構不一樣 -> typeof 變量名稱 3.獲得結果不一樣 -> 原始類型的名稱 instanceof運算符 1.用於判斷引用類型(包裝類型) 2.語法結構不一樣 -> 變量名稱 instanceof 引用類型名稱 3.獲得結果不一樣 -> 布爾類型的值(true或false)
特殊類型(undefined與null)
undefined表示空的數據類型,可是在內存中依舊佔有空間
null 做用:用於將指定變量從內存中進行釋放 實現:將指定變量的值賦爲null null類型中只存在一個值(null)