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
- js面向对象学习笔记之七(函数 与 基础控制结构)
- 《面向对象基础:C++实现》学习笔记之七
- 【JS学习笔记】 面向对象与原型
- js面向对象学习笔记之一(类与对象)
- js面向对象学习笔记之三(Array 对象)
- js面向对象学习笔记之四(Date 对象)
- 学习笔记之面向对象编程3(访问控制)
- javascript基础笔记(七)之js的函数
- JS函数与面向对象
- JS函数与面向对象
- js面向对象学习笔记
- OC学习笔记之面向过程与面向对象
- 面向对象基础七
- js面向对象学习笔记之八(cookie使用 与 url的get参数获取)
- js面向对象学习笔记之九(BOM 与 DOM 中常用属性分析)
- ES6学习笔记(七)--Generator函数与Promise对象
- js面向对象之构造函数、封装与继承
- JavaScript面向对象学习笔记基础与进阶
- 关于摄像头的一些基础知识
- Android RelativeLayout 15大属性
- Linux进程间通信——信号量
- java.lang.IllegalArgumentException: Service Intent must be explicit
- Oracle EBS订单的流程(Order->AR)
- js面向对象学习笔记之七(函数 与 基础控制结构)
- kafka第三方开源SSL库
- Maven Eclipse生成web工程
- 酒店的三个模板选择方法
- FLEX:module和components用法上的区别
- CListContainerElementUI 表头拖拽不起作用
- TCP/IP 详解7 Ping指令
- ListView的原理与优化
- Mysql 关键字-保留字