1.JavaScript組成數組
ECMAScript:解釋器、翻譯 +-*/ var function;瀏覽器
DOM:document object model 文檔對象模型,給js操做頁面元素的能力;閉包
BOM:browser object model 瀏覽器對象模型,給js操做瀏覽器的能力。函數
組成的兼容性:spa
ECMAScript:幾乎沒有兼容性問題;翻譯
DOM:有一些兼容性問題;對象
BOM:沒有兼容性問題,由於幾乎不兼容。blog
2.變量類型排序
變量類型:number,string,boolean(布爾),object,function,undefinded。ip
undefined出現的狀況:1.沒有定義;2.定義了,沒有賦值。
用法:alert(typeof a)
基本類型:number,string,boolean(布爾),undefinded.
複合類型:除了number,string,boolean(布爾),undefinded外都是複合類型.
數據類型轉換:
強制類型轉換:
paeseInt:將任意類型轉換成數字/從任意類型中提取數字
用法:alert(parseInt(a))
parseFloat:將任意類型轉換成小數/從任意類型中提取小數
隱式類型轉換:
==:先把兩邊東西轉化成同樣的類型,而後再比較(題外:===爲不轉換,直接比較)
!=:先把兩邊東西轉化成同樣的類型,而後再比較(題外:!==爲不轉換,直接比較)
-(減號)、*(乘號)、/(除號):都是隱式類型轉換
NaN:Not A Number 不是數字
檢測NaN方法:isNaN(值)
用法:alert(isNaN(a))
3.變量做用域和閉包
局部變量:定義在一個函數裏,而且只能在函數中使用;
全局變量:不定義在任何一個函數裏,能夠在任何地方使用;
閉包:子函數能夠使用父函數中的局部變量。
break:終止整個循環;continue:終止本次循環,繼續下一次循環。
4.Json:JavaScript Object notation
var obj={a:5,b:9,c:99};
var att=''
/*Json與for in:*/
for (att in obj){
alert(att);#輸出名字
alert(att+'='+obj[att]);#輸出名字和值
}
5.函數傳參
可變參/不定參:arguments
函數傳參不加東西,調用函數時傳入想傳的參數
參數個數可變,參數數組
style:
alert(div1.style.width); style只能獲取行間的style
currentstyle:
alert(div1.currentStyle.width); currentstyle獲取計算後的(當前)style
注:currentStyle只能用在IE,火狐的方法爲:alert(getComputeStyle(div1))
if(div1.currentStyle){
//IE
alert(div1.currentStyle.width);
}else{
//FF
alert(getComputeStyle(div1).width);
}
6.數組
定義:var arr=[1,2,3,4] 或者 var arr=new Array(1,2,3,4)
屬性:arr.length
方法:
-添加push(從尾部添加) unshift(從頭部添加)
arr.push(5)
-刪除pop(從尾部刪除) shift(從頭部刪除)
arr.pop()
數組的排序(由小到大):
arr.sort(function(num1,num2){
return num1-num2;
});
數組鏈接:
arr1.concat(arr2)
數組join(數組變成字符串):
alert(arr.join('-'));
輸出爲:1-2-3-4
字符串變成數組:
var str='12-11-10-9';
var array1=str.split('-');
alert(array1[0])
輸出爲:12
splice:
1》刪除:
splice(開始位置,刪除長度)
arr.splice(2,1);
2》中間插入:
splice(開始位置,刪除長度,插入元素)
arr.splice(3,0,'a','b');
3》替換:
splice(開始位置,刪除長度,插入元素)
arr.splice(1,2,'a','b');