码迷,mamicode.com
首页 > Web开发 > 详细

js面向对象学习笔记之七(函数 与 基础控制结构)

时间:2015-05-14 14:10:34      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:javascript   函数   

【函数部分】

 1. 函数内置参数数组对象 arguments 

 

function sum(){
    var len = arguments.length; 
    var s = 0; 
    for(var i = 0;i<len;i++){ 
        s += arguments[i];
    } 
    return s;
}; 

var b = sum(1,2,3,4,5); 
alert(b); //15


 2. 预定义内置函数

 

parseInt()                 //字符串转整型   第二个参数 选择进制  parseInt(0777,8);
parseFloat()               //字符串转浮点型
isNaN()                    //判断是否为不是一个数字 不是返回true
isFinite()                 //检测一个 不是无穷大 或无穷小的 非NaN的数字  返回true
encodeURI()                //url编码 可用 部分转义 只转义参数
decodeURI()                //url解码
encodeURIComponent()       //url编码 不可用 完全转义 所有的符号都转义
decodeURIComponent()       //url解码
eval()                     //会将 参数当做 javascript代码执行 性能慢 不安全

alert()                    //弹出警告框  会阻塞线程


 3.  变量扩展类型----函数

 var sum = function(a,b){return a+b;};
 var add = sum;
 add(1,2); //3

4. 函数作为参数

function add(a){
    return a+1;  
 }
 
 function addachd(a,b,func){
    return a+b+func(b);
 }
 
 //函数作为参数传递
 alert(addachd(4,5,add)); //15
 //我们还可以使用 这样可以少了一个全局声明的函数
 alert(addachd(4,5,function(c){return c+1;})); //15

5. 自调函数

  // 第一个括号里面放的是 匿名函数本身
  // 第一个括号里面放 传给匿名函数的参数 并立即调用
  (function(a){
     alert(a+1);
  })(5);

6. 闭包

技术分享



//实质是某个函数A内部 的函数B 未通过传参 能使用A内部的变量a

 var B;

 function A(){

    var a = 9;
    B = function(){
        return a;
    }
    return B;    
 }

 alert(B());

/*===================================================*/

 var result=[]; 
 function foo(){
      var i= 0;   
      for (;i<3;i=i+1){   
         result[i]=function(){   
             alert(i);   
         }
    }
 };
 foo();  
 result[0](); //闭包在初始时不会赋值 而在执行时 才会去寻找 对应的值
 result[1](); 
 result[2]();  

7. 私有函数

/*===================================================*/

 function A(){
    var a = 9;
    B = function(){
        alert(a);
    }
 }

 alert(A()); //任何函数都有个默认的返回值 undefined 

function A(){

    var a = 9;
    var B = function(){
        alert(a);       //所有子函数都可以调用父函数声明的任何变量 全局函数不可以 闭包可以
    }
    B();
 }
 A(); // 9

/*===================================================================================*/

【基本控制结构】

 

【if/else】

 if(...){
    //code here...
 }else{
    //code here...
 }

【switch/case】

 var a = 1;

 switch(a){
    case 1:
      //code here...
      break;
    case 2:
      //code here...
      break;
    ...
    default:
      //code here...
      break;
 }

【while】
 
 var i = 1;
 while(i<10){
    i++;
 }

【do..while】
 
 var i = 1;
 do{
   i++;
 }while(i<10)
 
【for】

 for(var i = 0; i<10 ; i++){
     //code here...
 }

【for...in】(一般用于数组遍历)

 var arr = [1,2,3,4,5];
 for(var j in arr){
    //code here...
    alert(j+"value:"+arr[j]);
 }


.





js面向对象学习笔记之七(函数 与 基础控制结构)

标签:javascript   函数   

原文地址:http://blog.csdn.net/wujiangwei567/article/details/45719923

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!