標籤:繼承 保留 首碼 第一個 區分 系統 eof 區分大小寫 本地
JS是物件導向的語言
- 封裝
- 繼承
- 多態
- 聚集(對象中具有引用其他對象的能力)
JS使用中絕大多數情況不需要進行物件導向的設計,很多情況是使用已經設計好,準備好的對象,基於對象的語言.
JS的使用(引入)
- jsp、html中直接在script標籤中書寫
- 在script標籤中引入
注意:
-
- script 標籤位置任意. 但是位置越靠前,執行越早.(重要)
- js 外部檔案推薦副檔名是.js.但是其實任何尾碼名都可以.
- 使用script標籤引入外部檔案,那麼該script標籤中就不要書寫js代碼了.
JS的基本文法
變數聲明使用var,變數區分大小寫 str 和 STR 不是同一個變數. 字串使用雙引號("")或單引號(‘‘)包裹都可以.變數的類型可以隨時改變.命名規則是匈牙利標記法.
var str = 1; var str = "Hello"; //兩者之間沒有任何區別
- 行尾使用 ";" 作為一行的結束符號.(可以沒有";", 以折行符(斷行符號)作為一行的結尾.)(不推薦)
- js 中的注釋有兩種單行,多行
單行注釋"//" 多行注釋 "/* */"
JS的類型
js中類型分為兩種
-
- 未經處理資料類型
- 對象資料類型
java中 基礎資料型別 (Elementary Data Type)有 byte short int long float double boolean char
js中 未經處理資料類型有 number(數字,浮點型,整型)
string(js語言的突破,沒有char類型.)
boolean
null (用來標示引用資料類型的預留位置.通常都是人為賦值.)var person = null;
undefined (由null衍生出來的值,是當我們聲明一個變數,)
1.沒有給該變數初始化值,那麼系統會預設賦值為undefined
2.函數中沒有傳回值,那麼預設返回undefined
未經處理資料類型 判斷符:
typeof 用來判斷一個變數是哪種原始類型的.
null會返回object, 是js中的一個bug,這個bug 被認為很貼切.所以保留了該bug.
JS中的語句
java中有迴圈: for while-do do-while
有判斷: if switch
js中語句 與java中一模一樣!
特殊: java中的增強for迴圈在js中沒有.
js中有for(var xx in xx) 語句. 用的很少,用來遍曆對象的屬性.
JS中運算子
一元運算子
一元加法,減法
var a = +1;
var b = -1;
在js中的進階應用程式.
var c = +"1"; //進行類型轉換
var d = +"abc"; // 轉換失敗,返回number中的特殊值 NaN.
Boolean 運算子 ! && ||
js中自動類型轉換. 轉換規律 (重點)
string ==> "" 轉換為false 其他都為true;
number ==> 除了NaN,+0和-0.其他都轉換為true.
null ==> false
undefined ==> false
NaN特性:
NaN參與的任何boolean運算傳回值都是false. 除了!=,因為undefined是null衍生出的,所以 alert(undefined == null);// true
比較子
alert(11>3); //true
當運算子兩端 , 一端是數字,一端是其他類型時, 其他類型會自動向數字類型轉換
alert("11">3); // true
alert(11>"3"); //true
字串在進行比較時 ,規律是: 比較首字元asc碼. 如果一樣,比較第2位...
alert("11">"3"); // false
alert("11">"1"); // true
alert("abc">11); //false
等性運算子 == != ===
全等於: === 比較時包括類型.
ECMAScript中的對象
- Object 是所有對象的超類.
Function對象以及Function的建立
- var fun1 = new Function("a","b","alert(a+b);");
- var fun2 = function (a,b){alert(a+b);}
- function fun3(a,b){alert(a+b)}
- Function的調用
- js中函數的調用只看函數名稱.調用時內建對象arguments, arguments代表函數運行期間實際參數列表.
arguments.length 實際參數個數
arguments[0] 第一個參數.
應用: arguments 實現函數的重載.
- 函數的返回
1. 如果函數沒有顯示指定傳回值,那麼函數傳回值為undefined.
2. 使用return關鍵字,返回內容
3. return 關鍵字,在js中也可以作為結束方法啟動並執行功能.
4. void運算子的應用.
ECMAScript中對對象的分類
- 本機物件
內建對象 不需要建立執行個體.直接使用 Global Math
主機對象 DOM BOM 兩部分.
ECMAScript中3個封裝對象.
String Number Boolean
偽對象: string number boolean 這3個原始類型可以看作是偽對象, 能直接調用封裝對象的方法和屬性.
String對象屬性length
重要的方法
indexOf
lastIndexOf
charAt
alert(str1.charAt(0)); //a
charCodeAt 返回所在字元的asc碼
alert(str1.charCodeAt(0)); //97
subString
alert(str1.substring(0, 1)); //a
slice 支援負數. 從右往左.
alert(str1.slice(0, -1)); //a
與正則結合的方法
split
replace
match
search
Global對象
JS入門熟知