您的位置:首页 > Web前端 > JavaScript

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

2014-10-22 17:14 323 查看
语句

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语句等循环语句配合使用,配合break和continue可以实现不止一次的退出循环操作(普通的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对象可以与命名参数一起使用,且他们的值保持同步
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: