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

来源:互联网 发布:淘宝外卖系统繁忙 编辑:程序博客网 时间:2024/05/16 11:46

【函数部分】

 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()                    //判断是否为不是一个数字 不是返回trueisFinite()                 //检测一个 不是无穷大 或无穷小的 非NaN的数字  返回trueencodeURI()                //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

8. get 与 set

 var _get, _set; (function(){     var value ;     _get = function(){         return value;     };     _set = function(val){         value = val;     };  })()  alert(_get());//undefined  _set(23);  alert(_get()); //23  alert(value);//ReferenceError: value is not defined



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

【基本控制结构】

 

【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]); }


.





1 0
原创粉丝点击