zoukankan      html  css  js  c++  java
  • js函数

    1、如何定义和使用函数、
    2、如何向函数传递参数
    3、了解我们可以“免费”调用哪些预定义函数
    4、了解javascript中的变量作用域
    5、理解“函数也是数据”的概念,并将其视为一种特殊的数据类型

    一、一个函数只能有一个返回值,如果我们需要同时返回多个值,可以考虑将其放进一个数组里。以数组元素的形式返回。
    二、定义函数时设定了参数,如果设定了,在调用时又忘了传递相关的参数值,Javascript引擎就会自动将其设定为Undefined。
    sum(1),在这里试图将1与undefined相加 返回 NaN
    javascript对传递进来的参数来者不拒,即便传递的参数过多,多余的那部分也只会被默默地忽略掉。
    而且,我们实际上还可以创建一些在参数数量方面更为灵活的函数。这得益于每个函数内部都有一个内建的arguments数组,
    它能返回函数所接收的所有参数。

    function args(){return arguments;} >>>args(); []
    args(1,2,3,4,true,'ninja'); [1,2,3,4,true,'ninja']
    通过arguments数组,我们可以进一步完善sum()函数的功能,使之能对任意数量的参数执行求和运算。
    function sumOnSteroids(){
    var i,res = 0;
    var number_of_params = arguments.length;
    for(i=0;i<number_of_params;i++){
    res += arguments[i];
    }
    return res;
    }
    sumOnSteroids(1,1,1)
    3
    sumOnSteroids(1,2,3,4)
    10
    sumOnSteroids(1,2,3,4,4,3,2,1)
    20
    sumOnSteroids(5)
    5
    sumOnSteroids();
    0
    其中表达式arguments.length返回的是函数被调用时所接收的参数数量。arguments实际上不是一个数组,是一个类似数组的对象。
    三、预定义函数
    Javascript引擎中有一组可供随时调用的内建函数,下面,让我们来了解一下这些函数,在这一过程中,我们会通过一系列具体的函数
    来实践,来帮助您掌握这些函数的参数和返回值,以便最终实现熟练应用,这些内建函数包括
    parseInt()
    :会试图将其收到的任何输入值(通常是字符串)转换成整数类型输出,
    如果失败就返回NaN
    parseFloat()
    isNaN()
    :NaN === NaN返回的是false,但是isNaN(NaN)返回的结果是true
    isFinite()
    :检查输入是否是一个既非infinity也非NaN的数字。

    URL的编码与反编码
    在URL中,有一些字符是具有特殊含义的,如果我们想“转义”这些字符,就可以去调用函数encodeURL()或encodeURLComponent()
    前者会返回一个可用的URL,而后者则会认为我们所传递的仅仅是Url的一部分。
    encodeURL()
    decodeURL()
    encodeURLComponent()
    decodeURLComponent()
    eval()

    黑盒函数
    一般来说,当我们调用一个函数时,程序是不需要知道该函数内部的工作细节的,我们可以将其看做一个黑盒子,您只需要给它一些参数(作为输入参数)
    就能获取它输出的返回结果。这种思维使用于任何函数,也包括由任何个人或集体所创建的函数。

  • 相关阅读:
    Netty和Akka有什么不同?
    GitHub & Bitbucket & GitLab & Coding 的对比分析
    Log4j和Log4j2的区别
    Spring中MultipartHttpServletRequest实现文件上传 生成缩略图
    JSP显示-下拉框
    jsp页面 date转化成string
    tomcat直接访问
    web项目中各种路径的获取HttpServletRequest
    遍历Map的四种方法
    mybatis There is no getter for property named 'xx' in 'class java.lang.String
  • 原文地址:https://www.cnblogs.com/guoyinglichong/p/7726318.html
Copyright © 2011-2022 走看看