zoukankan      html  css  js  c++  java
  • javascript函数基础概念

    函数,是所有编程语言的核心,函数封装一部分语句块,可以在任何时候任何地点调用,真正做到whenever、wherever!

    学习javascript的函数对以后的函数化,对象化,模块化都有重大意义。
    javascript中使用function关键字来声明函数,如何理解这句话?看看下面的例子:
    1 function demo1(){
    2     alert("这是一个函数")
    3 }

    上面的方式就声明了一个函数,如何调用呢?

    1 demo1()
    这样就实现了一个函数的调用。
    函数还可以拥有参数,具备参数的函数相比无参数的函数有更多的灵活性:
    1 function demo1(name,age){
    2     alert("我叫"+name+","+"我今年"+age+"岁了");
    3 }
    上面演示的就是一个带有参数的函数,demo1("谢某某",25),调用结果是——警告框弹出:我叫谢某某,我今年25岁了。
    注意:有些地方把参数叫做形参,不过是一种称呼而已,不要在乎这些细节。
     
    关于函数的参数,js提供一个比较有趣的属性:arguments
    arguments是什么?先实验一番:
    1 function demo1(name,age){
    2     console.log("我叫"+name+","+"我今年"+age+"岁了");
    3     console.log(arguments);
    4 }
    5 demo1("谢某某",25);

    调用结果如下:

    插嘴:console.log的作用是在控制台输出结果,其优势是能结构化输出,能让我们看到输出的结果的属性、方法等等。
    由上面的内容可以看到,函数输出结果是:我叫谢某某,我今年25岁了
    更重要的是:输出了arguments,这是一个数组?! NO!这不是一个数组,这只是一个类似于数组且具备length(长度)属性的东西。(具体验证可以使用数组方法去操作)
    arguments有什么用呢?
    试想一函数:1到10的累加。
    1 function demo1(){
    2     var total=null;
    3     for(i=0;i<arguments.length;i++){
    4         total+=arguments[i];
    5     }
    6     console.log(total);
    7 }
    8 demo1(1,2,3,4,5,6,7,8,9,10);
    运行上面的函数,可以得到55,通过这个简单的函数可以想象:在某些不确定参数的函数计算环境中,arguments势必提供极大的便利。
     
    函数返回值:
    大多时候,我们并非需要函数在调用后就单纯的执行某种行为,更多的是希望通过函数计算得出某个我们需要的结果,这就是函数的返回值
    函数如何得到返回值呢?关键字:return
    return能将函数的计算机结果返回到函数外部。如:
    1 function demo1(){
    2     var total=null;
    3     for(i=0;i<arguments.length;i++){
    4         total+=arguments[i];
    5     }
    6     return total;
    7 }
    8 var a=demo1(1,2,3,4,5,6,7,8,9,10);
    9 console.log(a);
    上面的代码中,函数demo1返回了1到10的累加结果,然后把这个结果赋值给了a;
    return除了返回函数执行结果之外还有一个作用就是跳出函数的执行,如下:
     1 function demo1(){
     2     var total=null;
     3     for(i=0;i<arguments.length;i++){
     4         total+=arguments[i];
     5     }
     6     return total;
     7     alert("这里无法被执行");
     8 }
     9 var a=demo1(1,2,3,4,5,6,7,8,9,10);
    10 console.log(a);

    同样的代码,加上一个alert弹出,在调用的时候会发现,alert未被执行。由此可以看出,函数在执行到return的时候就结束了。

  • 相关阅读:
    C#——数组
    javaScript数组移除指定对象或下标i,数组去重
    css实现左边div自适应宽度,右边宽度适应左边
    最短JS判断是否为IE6(!-[1,]&&!window.XMLHttpRequest)(转)
    java 获取微信 页面授权 获取用户openid
    鼠标滑轮滚动事件
    浏览器后退(返回)事件捕获
    一些常用的原生js方法(函数)
    简单瀑布流实现
    XMLHttpRequest对象的创建与用法
  • 原文地址:https://www.cnblogs.com/sky903700252/p/5050203.html
Copyright © 2011-2022 走看看