javascript 是弱類型語言,比較接近python和perl這類,不如java和c那樣嚴格.所以寫慣了強類型語言的小伙伴看到有些另類的寫法也相當正常;
有些東東不精講..以后單獨脫離出來細講;
有這么些數據類型: undefined(未定義) , Null(空值 – 特殊值) , Boolean(布爾值) , Number(數值) , String(字符串) , Object(對象,這個范圍挺廣,Array也屬於其中),symbol[ES6]
typeof , instanceof , hasOwnProperty, isPrototypeOf ,isArray
流控制語句,,大多編程語言都是大同小異~~~~
//推薦帶花括號,且花括號左邊緊貼表達式,可以降低語法解析識別為錯誤的問題[解析器會自動給一些變量或者語句添加分號]
if(conditions) {
...
}else if{
...
}else{
...
}
//先執行do里面的邏輯,再執行判斷表達式來確定下一步是否執行
do{
statement;
}while(expression)
//適合不知道應該循環多少次的,符合條件就無限執行,帶花括號是一個好習慣
while(expression){
statement;
}
//適合有限的循環
for(initialization ; expression ; post-loop-expression){
statement;
}
//[ES5]適合來枚舉對象的屬性,遇到值為null或者undefined則會拋出錯誤
for(proerty in expression){
statement;
}
//[ES5] 適合遍歷數組,缺點:不能用break跳出循環和用return語句
//傳統是用for來遍歷數組...見仁見智哈
var arr = [1,2,3,4];
arr.forEach(function(value){console.log(value)})
//結果集: 1,2,3,4,undefined
//[ES6]這貨的出現,更加方便了數組的遍歷...
//它避免了for-in的所有缺陷;
//與forEach()不一樣,它支持break,continue和return。
var arr = [1,2,3,4];
for(var i of arr){
console.log(i)
}
//結果集: 1,2,3,4,undefined
//跟goto好類似....一般配合break和continue語句;在多重嵌套循環的時候,可以滿足條件直接跳出整個循環(標簽指定的位置)
label : for(initialization ; expression ; post-loop-expression){
statement;
}
//break是跳出循環(中斷執行)
//continue是跳出這次循環,進入下一次循環(只是跳過符合條件的那一次循環,會繼續執行到結束)
//語法和高級編程語言大同小異,適合多重判斷(當然不嫌棄麻煩可以用if..elseif...else)
//小提示.若不是要執行多個表達式..記得每個對應判斷條件后必須break結束;否則會依次往下尋找對應的值,其上的所有非包含break的都會執行;
switch(expression){
case value1 : statement; break;
case value2 : statement; break;
case value3 : statement; break;
...
default:statement;break;
}
/*
與大多編程語言一樣..函數執行到return語句就結束該函數了..不管后面還有木有表達式;
因為JS是弱類型語言.. 在ES6前,有些東西不得不模擬,比如匿名函數,閉包,"花樣式"繼承
有點值得一提的是,,JS木有重載(當前,以后就不曉得會不會增加)
這里不多說..到時候在新文章拖出來細細揣摩
*/
function say(){
console.log("Hello world!");
}
say();
function say1(args1,args2){
console.log("Hello world!");
}
say1();
就我個人而言..原生JS我是折騰的比較痛苦的…花樣太多;繼續磨練~
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。