ECMAScript 大概是 +-*/ var function 一類的東西 幾乎沒有兼容問題
D-O-M 文檔--對象--模型,給了js操作頁面的能力 document 有一些兼容問題
B-O-M 瀏覽器--對象--模型 給了js操作瀏覽器的能力 window 幾乎不兼容
變量類型
number、string、boolean、undefined、object、function
undefined沒有值或者沒有定義的時候,都是undefined
數字都是number
對象 複合類型
NAN和誰計算都是NAN
檢測NAN,兩個NAN也不相等,isNAN檢測是不是NAN
作用域
定義在函數內,局部變量,只能在函數裏用
定義在外面,全局變量,哪裏都能用,儘量不用,可能衝突
閉包
簡單的理解下閉包,父函數中的函數子函數可以用,是一個作用域的問題
function parent(){
var num = 12;
function child(){
alert(num);
}
child();
}
parent();
可讀性,規範:首字母大寫、類型前綴
變體變量,不確定的變量
函數不用類型前綴,第二個單詞首字母大寫,變量可以放類型前綴
%模的應用
var n = 121;
//計算分鐘數
alert(parseInt(n/60)+'分'+n%60+'秒');
三目運算
//條件?語句1:語句2
var a= 46;
// if(a%2==0){
// alert("雙");
// }else{
// alert("單");
// }
a%2==0 ? alert("雙"):alert("單")
break,終止整個循環
continue,終止本次循環,繼續下一次
真。true、非零數字、非零字符串、非空對象
假。false、數字零、空字符串、空對象、undefined
JSON: JAVAScript Object Notation 輕量級數據交換格式
ar arr = [{a:4,b:7},{a:8,b:12}]
alert(arr[1].a);
var obj = {a:5,b:3,c:8}
var attr='';
for(attr in obj){
//attr得到的是鍵名,obj['attr']得到的是值
console.log(attr+'='+obj[attr]);
}