• 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对象可以与命名参数一起使用,且他们的值保持同步
  • 相关阅读:
    android 多线程
    Uva 10881 Piotr’s Ants 蚂蚁
    LA 3708 Graveyard 墓地雕塑 NEERC 2006
    UVa 11300 Spreading the Wealth 分金币
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    HDU 4162 Shape Number
    HDU 1869 六度分离
    HDU 1041 Computer Transformation
    利用可变参数函数清空多个数组
  • 原文地址:https://www.cnblogs.com/lijiazhan/p/4043775.html
Copyright © 2020-2023  润新知