4、JS函数
2017-10-09 本文已影响0人
迩後
一、函数的写法
1. 定义功能
function 关键字 代表定义功能(函数)
func 功能的名字, 满足标识符的条件即可,可以修改的
1. 必须是数字、字母、下划线、$ 组成
2. 不能重名
3. 不能以数字开头
( ) 不能省略
{ } 代表功能中的代码,相当于封装到了当前功能中
// 原因: 定义功能 是在所有语句之前 执行的,系统规定的
function func()
{
console.log("如来神掌!");
}
func( ) // 调用
- 使用功能
格式: 功能名( )
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;
}