JS學習指導

1.JAVASCRIPT
獨立的語言
腳本語言
最長見的應用場景時在瀏覽器中提供和用戶的交互,也有服務端端的應用。


解釋運行沒有編譯過程
基於對象
弱類型


2.發展歷史




3.js數據類型
基本數據類型
數值類型
0.1.2.3.
Infinity 無窮大
-Infinity 負無窮大
NaN 非數字 NaN和任何值都不相等,包括它自己本身,如果想檢查某個變量是否時非數字不能用 == NaN 來判斷,得用isNaN方法來判斷
字符串類型 
布爾類型 
undefined 
NULL
複雜數據類型
對象 
數組
4.js中的類型會自動進行轉換
js當中的數據類型 在必要的時候會自動進行類型的轉換。
數字: 自動轉換爲字符串 如果非0的數字轉換爲true 如果是0轉換爲false  自動包裝成Number對象
字符串: 會自動轉換爲對應的數字 如果時非空字符串轉換爲true,如果是空字符串轉換爲false 自動包裝爲String對象
布爾類型: true變爲1 false變爲0 true變爲”true“false變爲”false“ 封裝爲Boolean包裝對象
undefined : NaN ”undefined“ false 拋出異常
null: 0 "null" false 拋出異常
5.變量定義
js中是有數據類型的,但是引用不區分數據類型,所以稱爲弱類型的語言,一個變量可以被賦值爲不同的類型。

6.運算符
算數運算
關係運算
邏輯運算
位運算


基本和java中的一樣,不同在於 數值和類型轉換的處理 typeof 關鍵字


7.語句
if
switch case
while
do while
for
增強for不支持


8.函數
(1)普通方法定義函數
function 函數名(形式參數列表){
函數體
如果需要返回任何數據時,可以使用return關鍵字
}


(2)動態函數
var 變量名 = new Function(形參列表。。。函數體);


(3)匿名函數
var 變量名 = function(形參列表){
函數體
}


在需要調用函數時,函數名(實參列表)。


函數本質上也是一個對象,可以傳來傳去。
函數的形參和實參不必一一對應,如果實參的數量少於形參的數量,實參依次賦值給形參,未賦值到的形參取值爲undefined。
如果實參多餘形參,依次賦值,對於多出來的實參不賦值,但是可以通過function中隱含的 arguments數組來操作。


9.數組
var arr = new Array();
var arr = new Array(10);
var arr = new Array("a","b",3,true,new Objct());
var arr = ["a",2,4,true];


弱類型什麼都可以裝
數組長度時可以變化的


10.對象
js內置了很多對象
String - length字符串長度 
strVariable.length
返回 String 對象的長度。
strObj.charAt(index)
返回指定索引位置處的字符。
string1.concat([string2[, string3[, . . . [, stringN]]]])
返回字符串值,該值包含了兩個或更多個提供的字符串的連接。
strObj.indexOf(subString[, startIndex])
返回 String 對象內第一次出現子字符串的字符位置。
strObj.lastIndexOf(substring[, startindex])
返回 String 對象中子字符串最後出現的位置。
stringObj.match(rgExp)
使用正則表達式模式對字符串執行查找,並將包含查找的結果作爲數組返回。
stringObj.replace(rgExp, replaceText)
返回根據正則表達式進行文字替換後的字符串的複製。
stringObj.search(rgExp)
返回與正則表達式查找內容匹配的第一個子字符串的位置。
stringObj.slice(start, [end])
返回字符串的片段。
stringObj.split([separator[, limit]])
將一個字符串分割爲子字符串,然後將結果作爲字符串數組返回。
stringvar.substr(start [, length ])
返回一個從指定位置開始的指定長度的子字符串。
strVariable.toLowerCase( )
返回一個字符串,該字符串中的字母被轉換爲小寫字母。
strVariable.toUpperCase( )
返回一個字符串,該字符串中的所有字母都被轉化爲大寫字母。


Array
length 數組的長度
strVariable.length
返回 String 對象的長度。
strObj.charAt(index)
返回指定索引位置處的字符。
string1.concat([string2[, string3[, . . . [, stringN]]]])
返回字符串值,該值包含了兩個或更多個提供的字符串的連接。
strObj.indexOf(subString[, startIndex])
返回 String 對象內第一次出現子字符串的字符位置。
strObj.lastIndexOf(substring[, startindex])
返回 String 對象中子字符串最後出現的位置。
stringObj.match(rgExp)
使用正則表達式模式對字符串執行查找,並將包含查找的結果作爲數組返回。
stringObj.replace(rgExp, replaceText)
返回根據正則表達式進行文字替換後的字符串的複製。
stringObj.search(rgExp)
返回與正則表達式查找內容匹配的第一個子字符串的位置。
stringObj.slice(start, [end])
返回字符串的片段。
stringObj.split([separator[, limit]])
將一個字符串分割爲子字符串,然後將結果作爲字符串數組返回。
stringvar.substr(start [, length ])
返回一個從指定位置開始的指定長度的子字符串。
strVariable.toLowerCase( )
返回一個字符串,該字符串中的字母被轉換爲小寫字母。
strVariable.toUpperCase( )
返回一個字符串,該字符串中的所有字母都被轉化爲大寫字母。
Array對象
numVar = arrayObj.length
返回一個整數值,這個整數比數組中所定義的最高位元素的下標大 1。
array1.concat([item1[, item2[, . . . [, itemN]]]])
返回一個新數組,這個新數組是由兩個或更多數組組合而成的。
arrayObj.join(separator)
返回字符串值,其中包含了連接到一起的數組的所有元素,元素由指定的分隔符分隔開來。
arrayObj.pop( )
移除數組中的最後一個元素並返回該元素。
arrayObj.push([item1 [item2 [. . . [itemN ]]]])
將新元素添加到一個數組中,並返回數組的新長度值。
arrayObj.reverse( )
返回一個元素順序被反轉的 Array 對象。
arrayObj.shift( )
移除數組中的第一個元素並返回該元素。
arrayObj.slice(start, [end])
返回一個數組的一段。
arrayobj.sort(sortfunction)
返回一個元素已經進行了排序的 Array 對象。
arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
從一個數組中移除一個或多個元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
arrayObj.unshift([item1[, item2 [, . . . [, itemN]]]])
將指定的元素插入數組開始位置並返回該數組。
Date
dateObj = new Date()//代表當前時間的日期對象
dateObj = new Date(dateVal)//根據毫秒值計算的日期對象
dateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]]) //指定年月日時分秒的日期對象


getDay() set... 獲取星期信息
getFullYear() set...獲取年份信息
getMonth() set...獲取月份信息
getDate() set...獲取日期信息
getHours() set... 獲取小時
getMinutes() set...獲取分
getSeconds() set...獲取秒
getTime() set...獲取代表當前日期對象表示時間的毫秒值
Function
arguments 實參列表
Global
eval(codeString)
檢查 JScript 代碼並執行.
isNaN(numValue)
返回一個 Boolean 值,指明提供的值是否是保留值 NaN (不是數字)。
parseFloat(numString)
返回由字符串轉換得到的浮點數。
parseInt(numString, [radix])
返回由字符串轉換得到的整數。
Math
Var num = Math.PI
返回圓的周長與其直徑的比值,約等於 3.141592653589793。
Math.ceil(number)
返回大於等於其數字參數的最小整數。
Math.floor(number)
返回小於等於其數值參數的最大整數。
Math.abs(number)
返回數字的絕對值。
Math.exp(number)
返回 e(自然對數的底)的冪。
Math.random( )
返回介於 0 和 1 之間的僞隨機數。
Math.round(number)
返回與給出的數值表達式最接近的整數。
正則表達式對象
re = /pattern/[flags]
re = new RegExp("pattern",["flags"])


rgExp.exec(str)
用正則表達式模式在字符串中運行查找,並返回包含該查找結果的一個數組。
rgexp.test(str)
返回一個 Boolean 值,它指出在被查找的字符串中是否存在模式。


自定義對象
(1)構造函數定義對象1
function Person(){
}
var p = new Person();
p.name = "zhang";
p.age = 19;
p.getName = function(){return name;}
(2)構造函數定義對象1
function Person(name,age){
this.name = name;
this.age = age;
this.getAge = function (){
return this.age;
}
}
var p = new Person("li",19);
alert(p.name)
alert(p.age)
alert(p.getAge());
(3)對象直接量方式定義對象
var p = {name:"zhang",age:19,getName:function(){....}};


(4)閉包 原型


發佈了50 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章