广

JavaScript

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    [JavaScript基础教程]JavaScript中的函数

    2018-04-03 22:13:26 次阅读 稿源:互联网
    零七广告

    Microsoft JavaScript函数执行操作,也可以返回值。某些时候是计算或比较的结果。函数又被称为“全局方法”。

    一个函数中包含有几个操作。这样可使得代码更合理化。可以写一组语句并给其命名,然后通过调用它并传递其需要的信息来运行整组语句。

    给函数传递信息可以把信息放在函数名称后面的圆括号中。传递给函数的信息称作参数。某些函数根本不带任何参数,而其他函数带一个或者多个参数。在某些函数中,参数的个数取决于如何使用该函数。

    JavaScript支持两种函数:一类是语言内部的函数,另一类是自己创建的。

    特殊的内部函数

    JavaScript语言包含很多内部函数。某些函数可以操作表达式和特殊字符,而其他函数将字符串转换为数值。一个有用的内部函数是 。该函数可以对以字符串形式表示的任意有效的JavaScript代码求值。 eval() 函数有一个参数,该参数就是想要求值的代码。下面给出一个使用本函数的示例。

    1. var anExpression = "6 * 9 % 7"
    2. var total = eval(anExpression); // 将变量 total 赋值为 5。 
    3. var yetAnotherExpression = "6 * (9 % 7)"
    4. total = eval(yetAnotherExpression) // 将变量 total 赋值为 12。 
    5. // 将一个字符串赋给 totality (注意嵌套引用) 
    6. var totality = eval("’...surrounded by acres of clams.’"); 

    有关内部函数的详细信息请参考。

    创建自己的函数

    在必要的时候,可以创建并使用自己的函数。一个函数的定义中包含了一个函数语句和一个 Jscript 语句块。

    下面示例中的 Checktriplet 函数以三角形的边长为参数。通过查看三条边的长度是否可以组成一个毕达哥拉斯三元组(直角三角形斜边长度的平方等于其他两条边长的平方和)来计算该三角形是否为直角三角形。实际测试时 checkTriplet 函数要调用另两个函数中的一个函数。

    注意在浮点数测试版本中极小数(“epsilon”)作为测试变量的使用。由于浮点运算的不确定性和舍入误差,除非问题中的三个值均已知为整数,直接测试这三个数是否组成毕达哥拉斯三元组是不可行的。因为直接的测试更为准确,本示例中的代码确定其是否可行,如果可行则使用它。

    1. var epsilon = 0.00000000001; // 一些需要测试的极小数字。 
    2.  
    3. // 测试整数的函数。 
    4. function integerCheck(a, b, c)  
    5.    // 测试。 
    6.    if ( (a*a) == ((b*b) + (c*c)) )    
    7.       return true
    8.  
    9.    return false
    10. // 整数检查函数的结尾。 
    11.  
    12. // 测试浮点数的函数。 
    13. function floatCheck(a, b, c)    
    14.    // 得到测试数值。 
    15.    var delta = ((a*a) - ((b*b) + (c*c))) 
    16.  
    17.    // 测试需要绝对值 
    18.    delta = Math.abs(delta); 
    19.  
    20.    // 如果差小于 epsilon,那么它相当接近。 
    21.    if (delta < epsilon)    
    22.       return true
    23.  
    24.    return false
    25. // 浮点检查函数的末尾。 
    26.  
    27.  
    28. // 三元检查。 
    29. function checkTriplet(a, b, c) 
    30. {  
    31.    // 创建临时变量,用于交换值 
    32.    var d = 0;  
    33.  
    34.    // 先将最长的移动到位置“a”。 
    35.  
    36.    // 需要的话交换 a 和 b 
    37.    if (b > a) 
    38.    { 
    39.       d = a; 
    40.       a = b; 
    41.       b = d; 
    42.    } 
    43.  
    44.    // 需要的话交换 a 和 c 
    45.    if (c > a) 
    46.    { 
    47.       d = a; 
    48.       a = c; 
    49.       c = d; 
    50.    } 
    51.  
    52.    // 测试全部的 3 个值,看其是否为整数? 
    53.    if (((a % 1) == 0) && ((b % 1) == 0) && ((c % 1) == 0)) 
    54.    {  
    55.       // 如果成立,使用精确检查。 
    56.       return integerCheck(a, b, c);  
    57.    } 
    58.    else 
    59.    { 
    60.       // 如果不成立,取尽可能相近的。 
    61.       return floatCheck(a, b, c);  
    62.    } 
    63. // 三元检查函数的末尾。 
    64.  
    65. // 下面的三个语句赋给范例值,用于测试。 
    66. var sideA = 5; 
    67. var sideB = 5; 
    68. var sideC = Math.sqrt(50.001); 
    69.  
    70. // 调用函数。调用后,'result' 中包含了结果。 
    71. var result = checkTriplet(sideA, sideB, sideC); 

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告