zoukankan      html  css  js  c++  java
  • Javascript高级程序设计——函数

    函数Function

    通过函数封装多条语句,在任何地方执行。javascript函数不会重载,相同名字函数,名字属于后定义的函数通过function关键词声明。

    function functionName(arguments){
        statement;
    }
    
    
    函数会在执行return语句后停止并退出。return语句之后的任何代码不会被执行。
    function say(){
           return “hay”;
           alert("hay");           //永远不执行
    }
    
    
    return后不带返回值的会返回undefined。

     理解参数

      ECMAScript中的参数在内部是用一个数组来表示的,函数接受到的始终是这个数组,而不关心数组中包含哪些参数,

    以及参数个数。在函数体内部可以通过arguments对象来访问这个参数数组,从而获取每个参数,实际上,arguments对

    象只是与数组类似,它不是Array的实例

    function funcName(arg0, arg1, arg2...argn){
           alert(arguments[0]);             //可以通过方括号语法访问每个元素
           alert(arguments.length)          //通过length属性来确定传递进来多少参数
    }

      即使没有arg标识符,函数的功能依旧,因为ECMAScript函数的命名参数只提供便利,但不是必须,另外解析器不会验证命名参数。

      arguments的值永远与命名参数值保持同步。

    function fuc(num1){
          arguments[0] = 10;    //arguments的值会自动反映到参数名,同步的
          alert(num1);        //10
    }

      但这两个值不是在相同的内存空间中,他们的内存空间是独立的,只是值会同步。arguments的length属性传入参数确定的不是定义函数参数确定的

      没有传递的命名参数将自动赋予undefined,

      严格模式重写arguments的值导致语法错误。

     总结:

    javascript的核心语言特性在ECMA-262中是以名为ECMAScript的伪语言来定义的,ECMAScript定义了基本的语法、操作符、数据类型、和对象,

    但没对输入和输出做规定。理解ECMAScript的各种细节,是理解其ECMAScript在WEB浏览器中的实现——Javascript的关键.

    1.  ECMAScript 6种数据类型Undefined、Null、Boolean、Number、String、Object
    2.  没有为整数和浮点数定义不同的数据类型,Number类型表示所有数值
    3.  复杂数据类型Object。
    4. 严格模式对易出错得分提供限制“use strict”
    5. 无需指定函数返回值,可在任何时候返回任何值
    6. 未指定函数返回的是一个undefined值
    7. 函数参数是以一个包含多个值的数组形式传递的,可传递任意数量的参数,通过arguments来访问这些参数。
    8. 函数不可重载
  • 相关阅读:
    linux_一些shell命令分析记录
    linux shell if
    linux_磁盘挂载
    远程工具记录
    oracle_多字段统计(多count)
    tomcat_日志打印格式问题
    cgo -rpath指定动态库路径
    Ubuntu下两个gcc版本切换
    [转]Go与C语言的互操作
    [转]【流媒體】H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流
  • 原文地址:https://www.cnblogs.com/yangxunwu1992/p/4770425.html
Copyright © 2011-2022 走看看