• JavaScript学习笔记——函数


    javascript函数的声明和调用
    将完成某一特定功能的代码集合起来,可以重复使用的代码块。

    一、函数的声明方式(创建)

    A.基本语法
    function 关键字
    function 函数名([参数1],[参数2]....){
    函数体
    [retrun] //返回值
    }

    B.字面量定义的形式(匿名函数)

    var 变量=function ([参数1],[参数2]....){
    函数体
    [retrun] //返回值
    }

    C.以对象的形式来声明

    new 关键字。

    var 变量=new Function([参数1],[参数2]...,"函数体");

    //函数的第一种声明方式
     /*
       function math () {
       var num1=parseFloat(prompt("请输入",""));
       var num2=parseFloat(prompt("请输入",""));
       var operator=prompt("请输入运算符","");
       var result;
       switch (operator) {
       case "+":
          result=num1+num2;
          break;
       case "-":
          result=num1-num2;
          break;
    
       case "*":
          result=num1*num2;
          break;
       case "/":
          result=num1/num2;
          break;
       default:
          result="输入有误";
          
       }
         return result;
       }
    
       
       alert(math());
       alert(math())
       */
    //函数的第二种声明方式
     /*
      var fun=function  () {
       var num1=parseFloat(prompt("请输入",""));
       var num2=parseFloat(prompt("请输入",""));
       var operator=prompt("请输入运算符","");
       var result;
       switch (operator) {
       case "+":
          result=num1+num2;
          break;
       case "-":
          result=num1-num2;
          break;
    
       case "*":
          result=num1*num2;
          break;
       case "/":
          result=num1/num2;
          break;
       default:
          result="输入有误";
          
       }
         return result;
       }
          
     alert(fun());
     */
     //函数的第三种声明方式
    
    //  var fun=new Function(alert("后盾网"))
    //  fun();
    

    二、函数的调用方式:

    A.函数名() 、变量名();

    B.(function () {alert("后盾网");})();


    三、两种声明方式的区别

    1.如果两个函数的命名相同,后面的将会覆盖前面的函数。

    2.以基本语法声明的函数,会在代码运行的时候,提前加载到内存当中(就是以function开头的格式),以供以后使用,
    但是以字面量形式命名的函数,会在执行到的时候,才进行赋值

    3.在不同的<script></script>块中的函数,使用和调用的时候,应该先定义,后执行

    javascript函数的参数和return语句

    一、参数(最多是25)
    可以动态的改变函数体内对应的变量的类型或值,使同一函数体得到不同的结果。

    形参:在定义函数的时候,函数括号中定义的变量叫做形参。
    实参:调用函数的时候,在括号中传入的变量或值叫做实参。

    1.参数的类型
    可以是任何的数据类型

    2.参数的个数(最多是25)
    A.实参和形参数量相等,一一对应。

    B.形参的数量多于实参
    ************************************************
    不会报错,但是多出的参数他的值会自动赋值为undefined
    ************************************************
    C.实参的数量多于形参
    ************************************************
    不会报错,但是要得到多出的实参的值,要用arguments对象

    ************************************************

    二、Arguments对象

    每创建一个函数,该函数就会隐式创建一个arguments对象,他包含有实际传入参数的信息

    1.length 检测实际传入参数的个数
    2.callee 对本身的调用
    3.访问传入参数的具体的值。([下标])(如arguments[0])

    三、函数重载

    同一个函数因为参数的类型或数量不同,可以对应多个函数的实现,每种实现对应一个函数体。


    四、return 语句

    一、停止并且跳出当前的函数
    1.在ruturn 语句后面的函数体内所有内容都不会输出。
    2.在函数体内可以有多个return语句,但是只会执行一个。(判断语句)

    二、给函数返回一个值 return [返回值];
    1.返回值可以是任何的数据类型
    2.只能返回一个返回值。
    3.如果函数没有返回值,那么这个函数的值就会自动的赋值为undefined

    javascript 内置顶层函数

    名词解释:

    1.函数

    2.内置: ECMAscript

    内置函数:ECMAscript 自带的函数 Number()

    宿主函数: BOM DOM alert() prompt() confirm();

    //confirm() 弹出一个带有确定和取消按钮的一个对话框,确定返回真,取消返回假。

    3.顶层


    字符串函数:字符串.函数()

    数组函数

    顶层对象的函数,可以作用于任何对象。


    内置顶层函数

    1.escape() 对字符串进行编码

    2.unescape() 对编码的字符串进行解码

    3.Number() 转换成数值类型

    4.String() 转换成字符串类型

    5.Boolean() 转换成布尔类型

    6.parseInt() 将字符串转换为整型

    7.parseFloat() 转换为小数

    8.isNaN() 判断一个数能否转换为数值类型。

    9.isFinite() 判断一个数是否为有穷的数字。将不是有穷的数字或不能转换为数值类型的数返回假。

    10.eval() 将字符串转换成javascript命令执行(必须符合javascript语法规范,否则会出错)。


    IE:
    eval() 在当前作用域生效
    window.eval() 在当前作用域生效
    execScript()

    FF:

    eval() 在当前作用域生效
    window.eval() 在全局生效

    使代码在作用于上兼容IE

    function evals (str) {
       if(typeof str!="string"){
         return;
       }
      if(window.execScript){
         window.execScript(str);
      }else{
        window.eval(str);
      }
    
    }
  • 相关阅读:
    R中character和factor的as.integer的不同
    ggplot2练习
    R的plotmath
    Python数据科学手册(2) NumPy入门
    Python数据科学手册(1) IPython:超越Python
    ggplot2(6) 标度、坐标轴和图例
    R自带数据集
    ggplot2(5) 工具箱
    MATLAB神经网络(7) RBF网络的回归——非线性函数回归的实现
    ggplot2(4) 用图层构建图像
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/4691752.html
Copyright © 2020-2023  润新知