Javascript基本概念(語句和函數)

語句javascript

for語句java

  • for語句中的初始化表達式,控制表達式和循環後表達式都是可選的,將這三個表達式省略,就會建立一個無線循環。
  • ECMAScript中不存在塊級做用域,所以在循環內容部定義的變量也能夠在外部訪問到。

  

//如下是for語句的運用

/* 例一 */
var i,j;
for(i = 0, j = 10 ; i < 10 ; i++, j--)
	sum += i * j;

/* 返回鏈表的最後一個節點對象 */
function tail(o) {
	for(; o.next; o = o.next) /* empty */ ;
	return o;
}

 

  

 

for-in語句數組

主要用來枚舉對象的屬性(數組也是對象的一種函數

var obj = {
  a:'this is a', 
  b:'this is b', 
  c:'this is c'
};
var arr = [
  'arr1',
  'arr2',
  'arr3'
];

for(var o in obj){
  console.log(o + ':' + obj[o]);  
}
/*結果
  a:this is a
  b:this is b
  c:this is c
*/

for(var k in arr){
  console.log(k + ':' + arr[k]);  
}
/*結果
  0:arr1
  1:arr2
  2:arr3
*/

 

laber,break和continue語句this

label語句能夠在代碼中添加標籤,以便未來使用,一般都要與for語句等循環語句配合使用,配合breakcontinue能夠實現不止一次的退出循環操做(普通的break和continue只能退出一次循環spa

如下是代碼的例子對象

var num = 0;
outermost:
for(var i=0; i<10; i++){
  for(var j=0; j<10; j++){
    if (i == 5 && j == 5){
      break outermost;
    }
    num++;
  }
}
alert(num);  //55
//-------------------------------------------------------------
var num = 0;
outermost:
for(var i=0; i<10; i++){
  for(var j=0; j<10; j++){
    if (i == 5 && j == 5){
     continue outermost;
    }
    num++;
  }
}
alert(num);  //95
//-------------------------------------------------------------
var num = 0;
outermost:
for(var i=0; i<10; i++){
  for(var j=0; j<10; j++){
    if (i == 5 && j == 5){
      break;
    }
    num++;
  }
}
alert(num);  //95
//-------------------------------------------------------------
var num = 0;
outermost:
for(var i=0; i<10; i++){
  for(var j=0; j<10; j++){
    if (i == 5 && j == 5){
      continue;
    }
    num++;
  }
}
alert(num);  //99

 

switch語句blog

Javascript中的switch語句很靈活,你能夠用它來處理多分支的狀況。(注意每一個case語句塊後都要加上break,除非有意爲之,不然執行完一個case語句塊後會繼續往下執行,知道遇到break,使用return也能夠跳出switch語句ip

代碼以下:作用域

var num = 25;
switch (true) {
	case num < 0:
		alert('Less than 0.');
		break;
	case num >= 0 && num <= 10:
		alert('Between 0 and 10.');
		break;
	case num > 10 && num <= 20:
		alert('Between 10 and 20.');
		break;
	default:
		alert('More than 20.');
}
//結果是輸出 More than 20.

  

函數

提示

語句 return; 返回值是undefined;

理解參數

  • js函數不介意傳遞進來多少個參數,也不在意傳進來的參數是什麼數據類型,全部傳遞進來的參數均可以經過arguments對象來訪問,該對象相似數組但不是Array的實例,如第一個參數能夠經過arguments[0]訪問到,以此類推。
  • arguments對象的length屬性能夠獲知有多少個參數傳遞給了函數。也正是由於有這個屬性,咱們能夠很方便的模擬js不具有有的函數重載。如:
function doAdd() {
	if(arguments.length == 1) {
		alert(arguments[0] + 10);
	} else if (arguments.length == 2) {
		alert(arguments[0] + arguments[1]);
	}
}
doAdd(10);		//20
doAdd(30, 20); 	//50
  • arguments對象能夠與命名參數一塊兒使用,且他們的值保持同步
相關文章
相關標籤/搜索