Javascript基本概念(语句和函数)

语句

for语句

  • 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语句

label语句可以在代码中添加标签,以便将来使用,通常都要与for语句等循环语句配合使用,配合breakcontinue可以实现不止一次的退出循环操作(普通的break和continue只能退出一次循环

以下是代码的例子

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语句

Javascript中的switch语句很灵活,你可以用它来处理多分支的情况。(注意每个case语句块后都要加上break,除非有意为之,否则执行完一个case语句块后会继续往下执行,知道遇到break,使用return也可以跳出switch语句

代码如下:

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对象可以与命名参数一起使用,且他们的值保持同步
原文地址:https://www.cnblogs.com/lijiazhan/p/4043775.html