通过 JS 基础语法了解到 JS 的值包含数字, 字符串和布尔值; JS 运算符分为算数, 赋值, 比较和逻辑运算符; JS 的流程控制包含条件判断 if,switch 选择; 循环 for while; 下面 JS 的函数及作用域, 学习掌握知识点: 1. 函数是什么? 形参和实参 2. 函数里面的 arguments3. 作用域和预解析 4. 闭包和立即执行实例解析. 什么是函数? 简单来说是为了提高代码的复用性, 写一遍可以多次使用, 把特定的功能语句打包放在一起称之为函数.
专门建立的学习 Q-q-u-n: 784783012 , 分享学习的方法和需要注意的小细节, 不停更新最新的教程和学习技巧
(从零基础开始到前端项目实战教程, 学习工具, 全栈开发学习路线以及规划)
- <!DOCTYPE html>
- <HTML lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>
- JS 函数与作用域, 了解函数基本概念
- </title>
- <script>
- // var time=7;
- // for(var a=1;a<=10;a++)
- // {
- // console.log(a+'早上 7 点对自己说 10 遍加油')
- // }
- // var time=12;
- // for(var a=1;a<=10;a++)
- // {
- // console.log(a+'中午 12 点对自己说 10 遍加油')
- // }
- // var time=23;
- // for(var a=1;a<=10;a++)
- // {
- // console.log(a+'晚上 23 点对自己说 10 遍加油')
- // }
- // ==========================================================================
- // 函数 function 名字(0,1 也是可以的 多个参数){
- // 执行的语句
- // }
- // function myshelf()
- // {
- // for(var a=1;a<=10;a++)
- // {
- // console.log(a+'好好学习, 天天向上')
- // }
- // }
- // var time=7;
- // myshelf();
- // var time=12;
- // myshelf();
- // var time=23;
- // myshelf();
- // var time=7;
- // myshelf();
- // var myshelf_time=myshelf;
- // myshelf_time();
- // ==========================================================================
- // 函数 function 名字(0,1 也是可以的 多个参数){
- // 执行的语句
- // }
- // function myshelf(num)
- // {//num 形参 形式参数
- // for(var a=1;a<=num;a++)
- // {
- // console.log(a+'好好学习, 天天向上')
- // }
- // }
- // var time=7
- // myshelf(10) // 实参 实际参数
- // function myshelf(num,time)
- // {//time 如果未定义就是 undefined
- // for(var a=1;a<=num;a++)
- // {
- // console.log(time+'点第'+a+'遍'+'好好学习, 天天向上');
- // }
- // }
- // var time=7;
- // myshelf(10,time) ;
- // var time=12;
- // myshelf(5);// 执行结果: undefined 点第 5 遍好好学习, 天天向上
- // var time=12;
- // myshelf(5,time);// 执行结果: undefined 点第 5 遍好好学习, 天天向上
- // ==========================================================================
- function myshelf(num, time) 79 { //time=>undefined; 默认值为 7
- //var num=10; 参数放在里面相当于变量, 没办法一一呼应
- if (time == undefined) {
- time = 7;
- }
- for (var a = 1; a <= num; a++) {
- console.log(time + '点第' + a + '遍' + '好好学习, 天天向上');
- }
- }
- // var time=7;
- // myshelf(10) ;
- var time = 7;
- myshelf(10, 12); // var time=12;
- // ==========================================================================
- // 函数的另外一个功能 return 返回值
- function add(x, y) { // 加法
- var z = x + y;
- return z;
- 100
- }
- 101 //var z=x+y;
- //return z;
- // var rs=z;//add(1,2)
- var rs = add(1, 2);
- 107 console.log('1+2=' + rs);
- 108
- var rs = add(3, 4);
- 110 console.log('3+4=' + rs);
- 111 // 注释: 定义一个方法, 想要 x,y 做加法, 不论传进来什么值, 都可以得出一个数字, 可是我不想每次都写 x+y, 对应的 z=x+y, 怎么办了? 外面有一个 add(1,2)要做加法, 怎么获取它的值? 这里就需要用到 return 返回值, 返回的结果 z 怎么接收? 定义变量 rs=add(1,2), 也就相当于 rs=z, 里面的代码拿到外面话就是 var x+y=z;reurn z; 下面通过 var rs=add(1,2)与 var rs=add(3,4)的值 console.log 打印说明
- </script>
- </head>
- <body>
- </body>
- </HTML>
参数小结: 形参如果放在里面没办法传进来, 实参设计好, 通过 function=>有一个形参没有写的话, 结果显示 underfined 未定义, 里面的参数就是变量, 形参写在里面, 没办法和外面一 一呼应传进来, 为了一 一呼应, 写在外面 (num,time) 这里叫形参, 形参就是形式上的参数, 实际上就是一个定义变量; 在下面就可以用实际代码执行, 具体调用, 把外面的实参定义好, 用方法名 () 将对应参数传进来, 设计好, 有的话, 一 一呼应, 传进来后, 实现代码复用的最基本功能.
函数另外一个功能 return 返回值, 如果没有它, 上面代码最后展示 1+2=undefined;3+4=undefined
来源: http://www.jianshu.com/p/c57a62f46c1a