4、JS函数

2017-10-09  本文已影响0人  迩後
一、函数的写法
1. 定义功能

function 关键字 代表定义功能(函数)
func 功能的名字, 满足标识符的条件即可,可以修改的
1. 必须是数字、字母、下划线、$ 组成
2. 不能重名
3. 不能以数字开头
( ) 不能省略
{ } 代表功能中的代码,相当于封装到了当前功能中

// 原因: 定义功能 是在所有语句之前 执行的,系统规定的
function func()
{
    console.log("如来神掌!");
}
func( )  // 调用
  1. 使用功能
    格式: 功能名( )
    func( )
    弹出一个输入框: prompt 就是1个函数,只不过这个是系统写的,我们直接使用
    prompt( )
3.函数的第2种情况: 带输入的
(a) 代表 【调用者】传递给函数的 信息,自动存储到空间a(自动分配的)中
function func(a)
{
    document.write(a)
}
// 调用时,将数据 传递给功能 func
func(100)
func(90)
4.函数的第2种情况: 带输入的, 有多个输入
(a, b) 代表 【调用者】传递给函数的 信息,自动存储到空间a, b(自动分配的)中

function func(a, b)
{
    // a: "哈哈"       b: 90
    // a + b ===>  "哈哈" + 90  ===> "哈哈90"
    document.write(a + b)
}

// 调用时,将数据 传递给功能 func
// 传递数据的规定是: 100 ==> a  90 ===> b    一一对应的
func("哈哈", 90)
5.函数的输出
function func()
{
    return 5;
 // return 代表返回。整个函数立即终止,后面的代码全部忽略不计
}

var a = func();
document.write( a );
// func() 代表调用功能,它的【整体的值】是  return 后面【表达式的值】
// document.write(  func()  )
6.函数的运用

思路:
// 带饭: 传入钱 和 饭的类别(面条 或 盖饭) 面条: 80一碗,炸酱面 盖饭: 120一碗,鱼香肉丝
// 要求: 用 return 返回买的菜
// money 钱
// type 类别

function fan(money, type)
{
    if (type == "面条")
    {
         if (money >= 80)
         {
             return "炸酱面";
         } 
         else 
         {
            return "钱不够,你自己去买吧!"
         }
    }
    else if (type == "盖饭")
    {
         if (money >= 120)
         {
             return "鱼香肉丝";
         } 
         else 
         {
            return "钱不够,你自己去买吧!"
         }
    }
}
document.write(money);
★练习解答

/ 编写函数,求一个正数的n次方
// 正数的n次方 ==> 正数 * 正数 * 正数 * ... * 正数 n次

function func(a, n)
{
    var sum = 1;
    for (var i = 1; i <= n; i++)  // 循环n次
    {
        sum = sum * a;
    }
    return sum;   // 返回结果
}
document.write( func(-2, 3) );
 
var x = -1, n = 3 

// 说明: 传入正数,求出对应的n次方,否则 返回-1
function num1(x, n)
{
    if (x > 0)
    {
        return Math.pow(x, n);
    }
    else
    {
        // document.write("请输入正数!");
        return -1;
    }   
}

document.write( num1(x, n) );

function func(a, n)
{
    return( Math.pow(a,n) )
}

func(2, 3)

// 2^3 + 3^2
var a = func(2,3) + func(3,2)

document.write(a)

// 【练习】 编写函数,求4个数的平均值,要求使用返回值

function avg(a, b, c, d)
{
    var r = (a + b + c + d) / 4;
    return r;
} 
document.write(  avg(4,3,2,1) );

求1个数的阶乘:
叹号表示阶乘,如4! = 1 * 2 * 3 * 4

function jiecheng(a)
{
    var sum = 1;
    for (var i = 1; i <= a; i++)
    {
        sum = sum * i;
    }
    return sum;
}
上一篇下一篇

猜你喜欢

热点阅读