目錄
整型(int)
number
NaN:
isNaN() : 可以轉爲數值:false
不能轉換爲數值 : true
Infinity 無窮大 屬於 數值類型
Infinity 無窮大
-Infinity 負無窮大
布爾型(Boolean)
undefined
使用var聲明變量但未初始化
區分空對象指針與尚未定義的變量
對未初始化的變量及未聲明的變量使用
typeof運算符均會返回undefined
null
邏輯上null表示一個空對象的指針
使用typeof檢測時會返回object
注意:
undefined 與 null 的關係
u 派生於 null 所以 == 進行比較時會返回true
boolean
使用Boolean()進行轉換
轉換爲true :
- 任何非空字符串
- 任何非零數值
- 任何非空對象
轉換爲false:
- 空字符串
- 0 及 NaN
- null 及 undefined
字符串(string)
特性:字符串一旦被創建,其值將不能改變,若要改變必須銷燬原有字符串
js的string對象:
方法:
toString() 使用類型:number boolean string object
String() 利用對象創建字符串
eval() 計算字符串表達式的值並以數值形式返回。
查找方法:
字符方法:
- charAt(index) : 返回字符串中第n哥字符,參數超出範圍返回空字符串
- charCodeAt(index) : 返回字符串中第n個字符的Unicode編碼。參數超出範圍返回NaN
var a = "asd"; var s = a.charCodeAt(1); s;
- 【待補】fromCharCode(): 根據字符編碼創建字符串
位置方法:
- indexOf() 從前向後開始查找,不存在返回 -1
- lastIndexOf() 從後向前開始查找,不存在返回 -1
兩個方法共同的參數:1.要查找的項; 2.表示查找起點的位置索引(可選)
匹配方法:
- match("需要匹配的字符串") 返回匹配成功的字符串,沒有返回null
屬性:
input 調用該方法的字符串對象
index 匹配爲本的起始字符在字符串中的位置
lastIndex 匹配爲本的末尾字符在字符串中的位置
- search("需要匹配的字符串") 返回索引,沒有返回 -1
- replace("舊字符串","新字符串")
- split("字符",limit) 指定字符切割,limit指切割完後 數組保留幾個元素,默認全部
操作方法:
拼接方法:
- concat() 語法: string.concat(value1,...) 功能和 + 相同
截取方法:
根據下標截取子串:
- slice(截取的開始位置,結束位置-默認最後) 得到字符串
如果參數爲負值,則截取的開始位置 == 負值 + 字符串的長度
- substring(截取的開始位置,結束位置-默認最後) 得到字符串
如果參數爲負值,則截取的開始位置 == 0
根據長度截取字串
- substr(截取長度,返回的字符個數)
如果截取長度爲負值,則 負值+ 字符串的長度, 參數2 轉換爲0
空格處理:
- trim() 清除前置及後綴空格
- trimLeft() 清除前置空格
- trimRight() 清除後綴空格
轉換方法:
轉爲大寫:
- toUpperCase()
轉爲小寫:
- toLowerCase()
與html相關的方法
- bold(); 加粗
- fontcolor();設置字符串的顏色
- fontsize():設置字體的大小
- link():將字符串顯示稱超鏈接
- sub() 下標
- sup():上標
數組
創建數組:
1.var Obj = new Array();
2.var Obj = new Array(10); // 指定數組長度
3.var Obj = new Array("1","2",...,"n"); // 指定元素
存取數組元素:
數組名[下標索引];
數組的特點:
數組下標是從0開始
下標類型:
數值
非數值:轉爲字符串
生成關聯數組
下標將作爲對象屬性的名字
例如:
var obj = new Array(); obj["1"] = "2"; obj["a"] = "a"; obj ————》 (2) [empty, "2", a: "a"]
數組元素可添加到對象中
增加數組:
使用 [ ] 運算符指定一個新下標: obj["不存在的下標"] = 新值;
刪除數組:
delete 數組名[下標]; (有問題待深入)
遍歷數組:
1) for (var 數組元素變量 in 數組名){
數組元素變量值爲 數組下標;
}
2) for (var i = 0;i<數組.length;i++){
i 爲 數組下標;
}
數組屬性:
constructor 引用數組對象的構造函數 (待測)
length 返回數組的長度
prototype 通過增加屬性和方法擴展數組定義 (待測)
數組的方法:
添加:
- push() 在數組末尾添加數組
- unshift() 在數組頭部添加元素
- concat() 合併兩個數組
刪除:
- pop() 刪除並返回數組的最後一個元素
- shift() 刪除並返回數組的第一個元素
子數組:
- splice()
1)刪除任意數量的項:
參數:1.要刪除的起始下標; 2.要刪除的項數
2)在指定位置插入指定的項:
參數:1.起始下標; 2.0(不刪除任何項); 3.要插入的項
3)替換任意數量的項:
參數:1.起始下標; 2.要刪除的項數; 3.要插入的項
- slice() 從已有數組中選取部分元素構成新數組
參數:1.返回項的起始位置; 2.返回項的結束位置 (包前不包後)
特點: 如果是負數,則用數組長度加上該值確定位置。(如果負數大於數組長度則從下標0開始讀取)
數組排序:
- reverse() 反轉
- sort() 排序
特點:
默認爲按字符串比較
按數值大小比較,需函數支持(升序)
function compare(value1,value2){ if (value1 < value2){ return -1; }else if (value1 > value2){ return 1; }else{ return 0; }
數組轉換:
- toString() 轉換爲字符串並返回
- toLocaleString() 轉換爲本地格式字符串並返回 (沒發現這兩個的區別)
- join() 以 指定字符進行拼接
位置方法:
- indexOf() 從數組的起始位置開始查找
- lastIndexOf() 從數組的結束位置開始查找
兩個方法共同的參數:1.要查找的項; 2.表示查找起點的位置索引
迭代方法:
- every() 如果該函數對每一項都返回true,則返回true
- some() 有一項返回true,則返回true
- filter() 返回值爲true的所有數組成員
- forEach() 無返回值
- map() 返回每次函數調用的結果數組
參數:暫不懂
縮小方法:
- reduce() 從數組起始位開始遍歷
- reduceRight() 從數組末尾開始遍歷
參數:暫不懂
對象
1.直接創建的實例:
person = new Object(); person.name = "admin"; person.age = "18"; console.log(person.name); 簡寫形式: person = {name:"admin",age:18}; console.log(person.name);
2.只用對象構造器
function person(name,age){ this.name = name; this.age = age; } 一旦有了對象構造器,就可以通過 new 來創建對象了 var haha = new person("adc",12);
3.查看屬性:
通過 已存在的 對象 進行 . 操作
peroson.name
4.修改屬性
通過 . 再重新賦值
person.name = "username";
函數
js的函數:
參數列表不需要寫 var
1)使用關鍵字 function
function 方法名(參數列表){
方法體;
返回值(可有可無);
}
調用方法 : 方法名();
2)匿名函數
function (參數列表){
方法體;
返回值(可有可無);
}
3)new Function("參數列表","方法體和返回值");
注意 2 和 3 方式如若要被調用,則需要去一個名字。
調用方法:
直接調用:函數名(實參列表)
在連接中調用:<a href="javascript:函數名()">描文字</a>
在事件中調用:事件類型 = "函數名()"
函數參數
多餘形參 = undefined
多餘實參 被忽略
指針標識:
this : 指向當前操作對象
callee : 只想參數集合所屬函數
prototype : 只想函數附帶的原型對象
constructor : 指向創建該對象的構造函數
js的全局函數
eval() :執行js代碼
encodeURI(); 對字符進行編碼
decodeURI():對字符進行解碼
encodeURIComponent()和decodeURIComponent()
isNaN():判斷當前字符串是否是數字 不是數字是true,是數字是false
正則 : 空