什麼是HTML?javascript
1. HTML 是⽤來描述網頁的一種語言。
2. HTML 指的是超文本標記語言: HyperText Markup Language
3. HTML 不是一種編程語言,而是一種標記語言
4. 標記語言是一套標記標籤 (markup tag)
5. HTML 使用標記標籤來描述網頁
6. HTML ⽂檔包含了HTML 標籤及⽂本內容
7. HTML⽂檔也叫作 web 頁⾯html
HTML 標籤java
1. HTML 標記標籤一般被稱爲 HTML 標籤 (HTML tag)。
2. HTML 標籤是由尖括號包圍的關鍵詞,好比 <html>
3. HTML 標籤一般是成對出現的,⽐如 <b> 和 </b>
4. 標籤對中的第一個標籤是開始標籤,第二個標籤是結束標籤
5. 開始和結束標籤也被稱爲開放標籤和閉合標籤linux
<!DOCTYPE> 聲明web
<!DOCTYPE>聲明有助於瀏覽器中正確顯示網頁。
網絡上有不少不一樣文件,若是可以正確聲明HTML的版本,瀏覽器就能正確顯示網頁內容。 doctype 聲明是不區分
大小寫的
爲何要定義文檔類型?
1. Web 世界中存在許多不一樣的文檔。只有瞭解文檔的類型,瀏覽器才能正確地顯示文檔。
2. HTML 也有多個不一樣的版本,只有徹底明⽩頁⾯中使⽤的確切 HTML 版本,瀏覽器才能徹底正確地顯⽰出 HTML
頁⾯。這就是 <!DOCTYPE> 的用處。
3. <!DOCTYPE> 不是 HTML 標籤。它爲瀏覽器提供一項信息(聲明),即 HTML 是用什麼版本編寫的。正則表達式
HTML 標題express
HTML 標題(Heading)是經過 <h1> - <h6> 標籤來定義的.
<h1>這是主標題</h1></br> <h1>這是主標題</h1></br> <h1>這是主標題</h1></br> <h1>這是主標題</h1></br>編程
HTML 段落(P標籤)windows
<p>這是一個段落</p>瀏覽器
HTML 連接(a標籤)
<a href="www.baidu.com">這是一個連接</a>
*建立一個描點*
<a href="#C4">查看 Chapter 4。</a>
<h2><a name="C4">Chapter 4</a></h2>
HTML 圖像(img標籤)
<img src='images/1.jpg' width='100px;' height='200px;'/>
HTML <br> 標籤
<br> 標籤插入一個簡單的換行符。
<br> 標籤是一個空標籤,意味着它沒有結束標籤。
<hr> 標籤
可插入一個水平線。水平分隔線(horizontal rule)能夠在視覺上將文檔分隔成各個部分。
<!--...--> 註釋標籤
<!--這是一個註釋,註釋在瀏覽器中不會顯示-->
HTML格式標籤
<abbr> 標籤
⽤來表⽰一個縮寫詞或者首字母縮略詞,如"WWW"或者"NATO"。
The <abbr title="ZhongGuo">zg</abbr>
<pre> 標籤
<pre> 標籤可定義預格式化的文本。
被包圍在 <pre> 標籤 元素中的文本一般會保留空格和換行符。⽽而文本也會呈現爲等寬字體。
3 + 2
=
------
5
<input> 標籤
<input> 標籤規定了⽤戶能夠在其中輸入數據的輸入字段。
<input type="text" name="fname"><br>
<textarea> 標籤
1. 定義了⼀個多⾏文本框
2. 能夠經過 cols 和 rows 屬性來規定 textarea 的尺⼨大小,不過更好的辦法是使用 CSS 的 height 和 width 屬性。
3. maxlength,規定⽂本區域容許的最大字符數。
4. readonly,規定文本區域爲只讀。
5. disabled,規定禁用文本區域
建立一個10行的文本域
<textarea rows="10" cols="30">
我是⼀個⽂本框。
</textarea>
<button> 標籤
<button> 標籤訂義一個按鈕。
在 <button> 元素內部,您能夠放置內容,好比文本或圖像。這是該元素與使用 <input> 元素建立的按鈕之間
的不一樣之處。
按鈕的兩種⽅方式
<input type='button'/ value='按鈕'>
<button>按鈕</button>
<select> 元素用來建立下拉列表。
table標籤
用來定義一個表格
一個 HTML 表格包括 <table> 元素,一個或多個 <tr>、<th> 以及 <td> 元素。
<tr> 元素定義表格行, <th> 元素定義表頭, <td> 元素定義表格單元。
更復雜的 HTML 表格也可能包括 <caption>、<col>、<colgroup>、<thead>、<tfoot> 以及 <tbody> 元
素。
<th> 標籤
標籤訂義 HTML 表格中的表頭單元格。
HTML 表格有兩種單元格類型:
表頭單元格 - 包含頭部信息(由 元素建立)
標準單元格 - 包含數據(由 元素建立)
元素中的文本一般呈現爲粗體而且居中。
元素中的文本一般是普通的左對⻬齊文本。
colspan合併列,rowspan合併行。
<div> 標籤
標籤訂義 HTML 文檔中的一個分隔區塊或者一個區域部分。
標籤經常使用於組合塊級元素,以便經過 CSS 來對這些元素進行格式化。
```<div style="color:#0000FF">
<h3>This is a heading</h3>
<p>This is a paragraph.</p>
</div>```
<span> 標籤
用於對文檔中的行內元素進行組合。
<p>個人母親有 <span style="color:blue">藍色</span> 的眼睛。</p>
什麼是JS
JavaScript 是一種腳本語言,它由 LiveScript 更名而來,多是爲了更好地推廣這個腳本語言(利用 Java 語言的知名度),所以 Netscape 公司在最後一
刻決定將它更名爲 JavaScript ,但其實與 Java 沒有什麼關係。 JavaScript 是一種基於客戶端瀏覽器的(如今也有服務器端,如 NodeJS ),基於對象、事
件驅動式的腳本語言。 JavaScript 也具備跨平臺的特色。如同全部的腳本語言, JavaScript 是動態解釋執行的。
JavaScript 的基本特色:
解釋型腳本語言
程序不須要編譯。
運行時才翻譯成機器語言。
每執行一次就要翻譯一次。因此,其效率低,而且依賴於解釋器(如 google 的 v8 引擎),可是具備跨平臺性(在各類瀏覽器下都支持,而且
在 windows 、 linux 等各個操做系統都能運行)。
弱類型語言,其變量在使用以前無須聲明,由解釋器在運行時檢查其數據類型。
編譯型語言: 程序在 執行以前 須要一個專門的 編譯過程 ,把程序編譯成爲 機器語言 的文件,運行時不須要從新翻譯,直接使用編譯結果就好了。
程序執 行效率高 ,依賴編譯器,跨平臺性差。如 C 、 C++ 等等。
另外,編程語言分爲兩種, 聲明式編程和 命令式編程。
咱們能夠像下面這樣定義它們之間的不一樣:
命令式編程:命令 「 機器 」 如何去作事情 (how) ,這樣無論你想要的是什麼 (what) ,它都會按照你的命令實現。例如,常見的命令式編程語言有:
Java 、 C 、 C++ 、 JavaScript 、 PHP 等等。
聲明式編程:告訴 「 機器 」 你想要的是什麼 (what) ,讓機器想出如何去作 (how) 。例如,常見的聲明式語言有: CSS 、 SQL 。
JavaScript 的運行
運行 JavaScript
1. 使用 javascript: 前綴構建執行 JavaScript 代碼的 URL 。
<a href="javascript:alert(' 運行 js ! ');"></a>
<form action="javascript:alert(' 運行 js ! ');"></form>
2. 綁定事件,在事件被觸發的時候運行 js 代碼。
<button onclick="alert(' 運行 js ! ')"><button/>
3. 在 script 元素中執行 js 代碼。
<script type="text/javascript">
alert(" 運行 js ! ");
</script>
4. 引入外部 js 文件。
<script type="text/javascript" src="js 文件所在的 url 路徑 "></script>
JavaScript 語法
註釋
js 支持兩種格式的註釋。在行尾 「//」 以後的文本都會被 js 當作註釋忽略掉的。此外, 「/* 」 和 「 */」 之間的文本也會當作註釋,這種註釋能夠跨行書寫,單不
能有嵌套的註釋。
如下注釋都是合法的:
// 這裏是單行註釋
/* 這裏也是單行註釋 */
/*
這裏是
多行註釋
*/
關鍵字
js 把一些標識符拿出來用做本身的關鍵字。所以,就不能再程序中把這些關鍵字用做標識符了。
break delete function return typeof
case do if switch var
catch else in this void
continue flase instanceof throw while
debugger finally new true with
default for null try
// 在當前版本沒有使用(也做爲關鍵字),可是在將來版本可能會使用到的一些關鍵字
class const enum export import super
// 此外,下面這些關鍵字在普通的 JavaScript 代碼中是合法的,可是在【嚴格模式】下是保留字
implements let private public yield
interface package protected static
// 【嚴格模式】一樣對下面的標識符的使用作了嚴格限制,它們並不徹底是保留字,但不能用作變量名、函數名和參數名
arguments eval
// 【 java 】中的一些關鍵字
abstract double goto native static
boolean enum implements package super
byte export import private synchronized
char extends int protected throws
class final interface public transient
const float long short volatile
//js 中預約義的一些【全局變量】和【函數】,應當避免把它們的名字用作變量名和函數名
arguments encodeURI Infinity Number RegExp
Array encodeURIComponent isFinite Object String
Boolean Error isNaN parseFloat SyntaxError
Date eval JSON parseInt TypeError
decodeURI EvalError Math RangeError undefined
decodeURIComponent Function NaN ReferenceError URIError
標識符
在 js 中,咱們須要標識代碼中的不少元素,包括函數名、變量名等。
咱們選擇的名稱就稱爲標識符,而且必須遵循以下規則:
標識符不能使用關鍵字
標識符能夠包含字母、數字 0-9 、下劃線 (_) 或美圓符號 ($) 。
標識符的第一個字符必須是一個字母、下劃線或美圓符號。
標識符是區分大小寫的,而且沒有規定最大長度。
以下標識符是合法的:
identifier userName1 User_name _sys_var1 $change Public
以下標識符不合法:
1_Name *system public
直接量和變量
直接量
12 // 數字
1.2 // 小數
"hello world" // 字符串
true false // 布爾值
/regex/ // 正則表達式
變量
var x = 1;// 變量 x 的值是數字直接量 1
至關於數學裏面的,設 x=1 。
語句
var num = 1;// 聲明語句
if (num === 1) {//if 判斷語句
alert(1);
}
JavaScript 數據類型
基本數據類型
number 類型:包含整數和浮點數(即小數)。
boolean 類型:只有 true 和 false 兩個值。
string 類型:字符串值必須用引號括起來,引號能夠是單引號,也能夠是雙引號。
undefined 類型:專門用來肯定一個已經建立可是沒有初始值的變量。
null 類型:用於代表某個變量值爲空。
引用類型
原生對象:所謂原生對象是由 JavaScript 所提供的、獨立於宿主環境(即瀏覽器)的對象,簡單點說,就是在 ECMA-262 標準中定義的對象。它包
括: Object 、 Function 、 Array 、 String 、 Boolean 、 Number 、 Date 、 RegExp 、 Error 、 EvalError 、 RangeError 、 ReferenceError 、
SyntaxError 、 TypeError 、 URIError 、 Arguments 、 JSON 。(經常使用的原生對象有:Objet、Function、Array、Date、JSON(JSON至關於Java中的JavaBean對象))
內置對象:內置類對象 JavaScript 中提供的、獨立於宿主環境對象,這些對象在 JavaScript 程序執行時就已經存在。內置對象實際上也是原生對象
的一種,可是與原生對象不一樣的是,內置對象不須要顯式的初始化,由於它已經初始化了。 ECMA-262 中只定義了兩個內置對象: Global 和
Math 。
宿主對象:宿主對象指與宿主環境即瀏覽器有關的對象。全部的 BOM 和 DOM 對象都是宿主對象。
數據類型轉換
自動轉型
JavaScript 支持自動類型轉型,這種類型轉換的功能很是強大。
例如:
var a = "3.145";
var b = a - 2;// 字符串與數字相減
var c = a + 2;// 字符串與數字相加
console.info(b + "\n" + c);
結果爲:
1.145
3.1452
在上面代碼中, a 是值爲 3.145 的字符串,讓 a 和數值執行減法,則自動執行算術運算,並將 a 的類型轉換爲數值;讓 a 和數值執行加法,則 2 轉換爲字符
串。這就是自動類型轉換,它的轉換規律是:
對於減號運算符,由於字符串不支持減法運算,因此係統自動將字符串轉換成數值。
對於加號運算符,由於字符串可用加號做爲鏈接運算符,因此係統自動將數值轉換成字符串,並將兩個字符串進行鏈接運算。
又例如:
10 + " objects"; //"10 objects" ,數字 10 轉換爲字符串
"7" * "4"; //28 ,兩個字符串均轉換爲數字
var n = 1 - "x"; //NaN ,由於 "x" 不管如何都沒法轉換爲數字
n + " objects"; //"NaN objects" , NaN 轉換爲字符串 "NaN"
各類類型自動類型轉換的結果
強制轉型
轉換成字符串
toString() 函數
toString() 方法是來自於 原生對象 Object ,因全部對象都繼承自 Object ,因此全部對象都有 toString() 方法。另外,因爲 boolean 、 number 和 string 這三
個基本類型可看做 僞對象,便可當作引用類型的 Boolean 、 Number 和 String ,因此也可以使用 toString() 。
注: null 和 undefined 沒有 toString() 。
例如:
var flag = false;
console.info(flag.toString());
輸出結果: "false"
另外, Number 類型的 toString() 方法比較特殊,它有兩種模式,即 默認模式和 基模式。採用默認模式, toString() 方法只是應用字符串輸出數值。
例如:
var num = 10;
console.info(num.toString());
輸出結果:"10"
採用基模式轉換:
var num = 10;
console.info(num.toString(2));
console.info(num.toString(8));
console.info(num.toString(16));
輸出結果:
"1010"
"12"
"A"
String() 函數
String() 能夠把任何值轉換成字符串,這種強制轉換和 toString() 的惟一不一樣之處在於,對於 null 和 undefined 值也能強制轉換而不會報錯。
例如:
var str = String(null); //"null"
var strObj = null;
console.info(strObj.toString());// 報錯
轉換成數字
parseInt 和 parseFloat 是來源於內置對象 Global 的兩個方法,而 Number 則是來源於原生對象 Number 。
parseInt() 函數
parseInt() 方法首先查看位置 0 處的字符,判斷它是不是個有效數字;若是不是,該方法將返回 NaN ,再也不繼續執行其餘操做。但若是該字符是有效數
字,該方法將查看位置 1 處的字符,進行一樣的測試。這一過程將持續到發現非有效數字的字符爲止,此時 parseInt() 將把該字符以前的字符串轉換
成數字。
例如:
var num = parseInt("12345px");// 返回 12345
var num1 = parseInt("0xA"); //10
var num2 = parseInt("56.9"); //56
var num3 = parseInt("red"); //NaN
// 基模式
var num4 = parseInt("10", 8); //8
parseFloat() 函數
parseFloat() 方法與 parseInt() 方法的處理方式類似,從位置 0 開始查看每一個字符,直到找到第一個非有效的字符爲止,而後把該字符以前的字符串轉
換成整數。 不過,對於這個方法來講,第一個出現的小數點是有效字符。若是有兩個小數點,第二個小數點將被看做無效的。 parseFloat() 會把這個
小數點以前的字符轉換成數字。這意味着字符串 "11.22.33" 將被解析成 11.22 。 使用 parseFloat() 方法的另外一不一樣之處在於,字符串必須以十進制形
式表示浮點數,而不是用八進制或十六進制。該方法會忽略前導 0 ,因此八進制數 0102 將被解析爲 102 。對於十六進制數 0xA ,該方法將返回 NaN ,
由於在浮點數中, x 不是有效字符。(註釋:經測試,具體的瀏覽器實現會返回 0 ,而不是 NaN 。)
var fNum1 = parseFloat("12345red"); // 返回 12345
var fNum2 = parseFloat("0xA"); // 返回 NaN
var fNum3 = parseFloat("11.2"); // 返回 11.2
var fNum4 = parseFloat("11.22.33"); // 返回 11.22
var fNum5 = parseFloat("0102"); // 返回 102
var fNum1 = parseFloat("red"); // 返回 NaN
Number() 函數
Number() 函數的強制類型轉換與 parseInt() 和 parseFloat() 方法的處理方式類似,只是它轉換的是整個值,而不是部分值。 還記得嗎, parseInt() 和
parseFloat() 方法只轉換第一個無效字符以前的字符串,所以 "1.2.3" 將分別被轉換爲 "1" 和 "1.2" 。 用 Number() 進行強制類型轉換, "1.2.3" 將返回
NaN ,由於整個字符串值不能轉換成數字。若是字符串值能被完整地轉換, Number() 將判斷是調用 parseInt() 方法仍是 parseFloat() 方法。
Number(false); //0
Number(true); //1
Number(undefined); //0
Number(null); //0
Number("1.2"); //1.2
Number("12"); //12
Number("1.2.3"); //NaN
Number(new object()); //NaN
Number(false); //0
轉換成布爾值
Boolean() 函數
當要轉換的值是至少有一個字符的字符串、非 0 數字或對象時, Boolean() 函數將返回 true 。若是該值是空字符串、數字 0 、 undefined 或 null ,它將
返回 false 。
var b1 = Boolean(""); //false - 空字符串
var b2 = Boolean("hello"); //true - 非空字符串
var b3 = Boolean(50); //true - 非零數字
var b4 = Boolean(null); //false - null
var b5 = Boolean(0); //false - 零
var b6 = Boolean(new object()); //true - 對象
JavaScript 運算符
JavaScript 提供了至關豐富的運算符,運算符也是 JavaScript 語言的基礎。經過運算符,能夠將變量鏈接成語句,語句是 JavaScript 中的執行單位。
操做數
操做數的個數
運算符能夠根據其操做數的個數進行分類。 JavaScript 中的大多數運算符 ( 好比 「*」 乘法運算符 ) 是一個二元運算符( binary operator ),將兩個表達式合
併成一個稍複雜的表達式。換而言之,他們的操做數均是兩個。 JavaScript 一樣支持一些一元運算符( unary operator ),它們將一個表達式轉換爲另
一個稍複雜的表達式。表達式 -x 中的 「-」 運算符就是一個一元運算符,是將操做數 x 求負值。最後, JavaScript 支持一個三元運算符( ternary
operator ),條件判斷運算符 「?:」 ,它將三個表達式合併成一個表達式。
操做數類型和結果類型
一些運算符能夠做用於任何數據類型,但任然但願他們的操做數是指定類型的數據,而且大多數運算符返回一個特定的值。
運算符
賦值運算符
JavaScript 使用 「=」 運算符來給變量或屬性賦值。
例如:
var str = "javascript";
var pi = 3.14;
var visited = true;
另外也能夠變量賦值:
var str = "javascript";
var str2 = str;
連續賦值也可:
var b, c;
var a = b = c = 10;// 最後三個變量均爲 10
算術運算符
包括(+、-、*、/、%)
自增自減
++ 爲自增, -- 是自減,都是單目運算。運算符出如今變量以前時,稱爲前綴形式,表示變量在使用以前自動加 1 或減 1 。
例如:
var i = 1;
i++;// 就至關於 i = i + 1;
又例如:
var b = 5;
var a = ++b + 6;
console.info(a + "\n" + b);
結果爲:
12
6
如果出如今變量以後,稱爲後綴形式,表示變量再使用以後再自動加 1 或減 1.
如:
var i = 1;
var j = i++;
console.info(j);
console.info(i);
結果爲:
1
2
可是你須要注意的是以下狀況:
var i = 0;
i = i++;
console.info(i);
是否是以爲結果很讓人費解? 接下來咱們來看看這是爲何。
首先咱們來分析以前的一段代碼:
var i = 1;
var j = i++;
這段代碼運行到 j=i++ 的時候會率先處理賦值運算符,可是因爲有後置 ++ ,在 JavaScript 中只要出現後置 ++ 而且在準備運算擁有後置 ++ 的變量時立刻
會出現以下的狀況:
咱們的計算機會立刻將 i 的值賦值給一個臨時的 i temp ,再此以後,還有一個關鍵的步驟,則是立刻讓 i 自己加上 1 。
以後呢,咱們就會立刻去執行賦值運算符,將 i 的值賦值給 j ,請注意:這個時候是將 i temp 的值賦值給 j ,而後將 i temp 銷燬掉。
同理,咱們來推論以下代碼。
var i = 0;
i = i++;
當執行到 i = i++; 時,顯然計算機會先處理賦值運算符,再來處理後置 ++ ,可是仍是要注意的是,咱們只要遇到後置 ++ 的時候 i 變量所在的內存區域
依然會發生以下的變化:
接着就開始執行賦值運算,並清除 i temp
注 :
每當咱們遇到後置 ++ 或後置 -- 的時候,咱們所說的最後讓它執行 ++ 運算符的意思是 最後使用它的 i temp 來進行下一步的運算,可是在運算以前, 已經
肯定好了 i 的值和 i temp 的值 ,而且 i 和 i temp 的值在肯定的時候是不同的。
例題 1 :
設 x=5
1) 那麼 y=++x 表達式的 x 和 y 結果分別是多少?
2)y=++x*++x , x 和 y 的計算結果爲多少?
例題 2 :
設 x=5
y=x-- , x 和 y 計算結果?
y=x++*x++ , x 和 y 計算結果?
例題 3 :
設 a=6
c=a+(++a)+(--a)-(a++) , a 和 c 的計算結果?
a=a+(++a)+(--a)-(a++) , a 的計算結果?
4.2.3 帶操做的賦值運算符
賦值運算符能夠與算術運算符等其餘運算符相結合。
+= :對於x += y,即對應於x = x + y。
-= :對於x -= y,即對應於x = x - y。
*= :對於x *= y,即對應於x = x * y。
/= :對於x /= y,即對應於x = x / y。
%= :對於x %= y,即對應於x = x % y。
另外, x op= y與x = x op y相比,前者只計算了一次,然後者計算了兩次。
關係運算符
比較運算符(關係運算符)用於判斷兩個變量或常量的大小,比較運算符的結果是一個布爾值。
> :大於,若是前面變量的值大於後面變量的值,則返回 true 。
>= :大於等於,若是前面變量的值大於等於後面變量的值,則返回 true 。
< :小於,若是前面變量的值小於後面變量的值,則返回 true 。
<= :小於等於,若是前面變量的值小於等於後面變量的值,則返回 true 。
!= :不等於,若是先後兩個變量的值不相等,則返回 true 。
== :等於,若是先後兩個變量的值相等,則返回 true 。
!== :嚴格不等於,若是先後兩個變量的值不相等,或者數據類型不一樣,都將返回 true 。
=== :嚴格等於,必須先後兩個變量的值相等,數據類型也相同,纔會返回 true 。
例如:
console.info(5 == "5");//true
console.info(5 === "5");//false
二者的區別在於, == 支持自動轉型 (> 、 >= 、 < 、 <= 也可自動轉型 ) ,而 === 不能自動轉型。
另外,比較運算符不只能夠在數值之間進行比較,也能夠在字符串之間進行比較。字符串的比較規則是按字母的 Unicode 值進行比較。對於兩個字符
串,先比較它們的第一個字母,其 Unicode 值大的字符串大,若是他們的第一個字母相同,則比較第二個字母 …… 一次類推。
例如:
console.info("z" > "abc");// true ,排後面的字母大於前面的
console.info("abc" > "Xyz");//true ,小寫字母大於大寫字母
console.info("ABC" > "ABB");//true
邏輯運算符
邏輯運算符用於操做兩個布爾型的變量或常量。
&& :且,必須先後兩個操做數都爲 true 才返回 true ,不然返回 false 。
|| :或,只要兩個操做數中有一個爲 true ,就能夠返回 true ,不然返回 false 。
! :非,只操做一個操做數,若是操做數爲 true ,則返回 false ,若是操做數爲 false ,則返回 true 。
例如:
console.info(!false);//true
console.info(5 > 3 && '6' > 10);//false
console.info(4 >= 5 || "abc" > "abb");//true
其餘運算符
條件運算符(三目運算)
三目運算符的語法格式以下:
(expression) ? if-true-statement : if-false-statement;
三目運算符的運算規則是:先對邏輯表達式 expression 求值,若是邏輯表達式返回 true ,則執行第二部分的語句;若是邏輯表達式返回 false ,則返回第
三部的語句。
例如:
5 > 3 ? alert("5 大於 3") : alert("5 小於 3");
點運算符
對象 . 屬性值,表示訪問該對象的某個屬性。
例如:
// 建立一個學生對象,僅有一個 name 屬性
var student = {
name : " 張三 "
}
console.info(student.name);
轉義符
符號 意義
\b 表明退格
\t 表示製表符
\n 換行回車
\v 垂直的製表符
\r 回車
\" 雙引號
\' 單引號
\\ 反斜線,即 \
\OOO 使用八進制數表示的拉丁字母。 OOO 表示一個 3 位的八進制整數,範圍時 000~377
\xHH 使用十六進制數表示的拉丁字母, HH 表示一個 2 位的十六進制整數,範圍是 00~FF
\uHHHH 使用十六進制數(該數值指定該字符的 Unicode 值)表示的字符, HHHH 表示一個 4 位的十六進制整數
typeof
typeof 運算符用於判斷某個變量的數據類型,它既能夠做爲函數來使用,例如 typeof(a) 可返回變量 a 的數據類型;也可座位一個運算符來使用,例如
typeof a 也可返回變量 a 的數據類型。
不一樣類型參數使用 typeof 運算符的返回值類型以下:
數據 返回值
undefined undefined
null object
true/false boolean
數值類型 number
字符串類型 string
對象 object
instanceof
該運算符用於判斷某個變量是否爲指定類的實例。
例如:
var arr = [1, 2];
console.info(arr instanceof Array);//true ,由於 arr 對象屬於 Array 類
console.info(arr instanceof Object);//true ,由於任何對象都屬於 Object 類
逗號
var i = 0, j = 1, k = 2;
// 等同於以下
var i = 0;
var j = 1;
var k = 2;
運算符優先級別
優先級別 運算符
1 「.」 、 「()」 、 「[]」
2 「!」 、 「-」( 負號 ) 、 「++」( 前置 ) 、 「--」( 前置 ) 、 「typeof」 、 「new」 、 「void」 、 「delete」
3 「*」 、 「/」 、 「%」
4 「+」 、 「-」
5 「<<」 、 「>>」 、 「>>>」
6 「<」 、 「<=」 、 「<」 、 「>=」
7 「==」 、 「!=」 、 「===」 、 「!==」
8 「&」
9 「^」
10 「|」
11 「&&」
12 「||」
13 「?:」
14 「=」 、 「+=」 、 「-=」 、 「*=」 、 「/=」 、 「%=」 、 「<<=」 、 「>>=」 、 「>>>=」 、 「&=」 、 「^=」 、 「|=」
15 "++"( 後置 ) 、 "--"( 後置 )
16 「,」
從上面的列表能夠看出,點運算符和括號的優先級別最高,一些特殊運算符的優先級別位於第二,其次是算術運算符,再其次是位運算符,關係運算符,
邏輯運算符,三目運算,賦值運算符,最後是逗號運算符。
JavaScript 流程控制
在 JavaScript 裏面有沒有塊做用域,只有函數做用域,即函數的花括號能夠保證本身花括號內的變量不能在花括號外被使用。
例如:
var flag = 1;
if (flag == 1) {
var num = 1;
console.info(num);// 此處理所固然可使用到 num
}
console.info(num);// 由於 js 沒有塊做用域的說法,因此花括號不會分隔所用於,在花括號外依然可使用花括號內的變量
經過條件判斷來改變流程
if語句、if/else、連續的if/else語句、if/else嵌套、switch語句、
循環語句
while循環、do/while循環、for循環。
注意:在JS中沒有foreach循環,可是有一個for/in循環的功能和foreach循環同樣