函数

<!DOCTYPE html>

<html>


<head>

<meta charset="UTF-8">

<title>函数</title>

<style type="text/css">

div {

width: 100px;

height: 100px;

border: 1px solid;

}

</style>

</head>


<body>

<div class="d"></div>

<div class="d"></div>

<script type="text/javascript">

/*

* 函数(function)

函数是具有特定功能的代码块.

函数的特点:

1.把代码封装起来,方便以后重复使用;

2.函数定义时,函数里的代码不会执行,只有调用该函数,函数里的代码才会执行;

3.使用函数封装起来的代码具有重复性.

   

函数分为两部分:

1.函数的定义

  2.函数的调用

函数的语法结构:

function 函数名(参数1,参数2,参数3...){

语句;

return 返回值;

}

   

定义的函数里,语句可以有多条,但是return语句只允许存在一条,而且必须写在最后.

   

调用函数的语法结构:

函数名();

 */

/*

* 函数按照有没有参数,返回值分为四大类:

* 1.无参无返

* 2.无参有返

* 3.有参无返

* 4.有参有返

*/

//1.无参无返

// function buyBeer() {

// console.log("没钱");

// }

//调用函数

// buyBeer();


//2.无参有返

function buyTea() {

console.log("没买到,但我捡了10块钱,给你~");

return("10块钱");

}

// var m = buyTea();

// console.log(m);


//如果函数有返回值在调用时需要用 变量 去接收函数调用后的返回值.

/*

* return在函数里的作用:

* 1.将函数的最终计算结果返回给外界.

* 2.return之后的代码不会执行.

*/

// var num = [];

// function max(num){

// if(var i = 0;i < arr.length; i++){

// m = m > num[i] ? m : num[i]

// return m

// }

// }

// var max = max(1, 2, 3)

// alert(max);


//有参无返  如果有参数,在定义函数时,直接写参数名即可,如果有多个参数,参数与参数之间用逗号隔开.

function buyFruit(money, car) {

console.log("这是" + money + "块钱", "这是" + car);

}

// var a = 10;

// buyFruit(a + 1, "28大杠")


//有参有返

function buyApple(money, count) {

console.log("买了" + count + "斤��," + "还剩" + (money - count * 2) + "块钱");

return money - count * 2;

}

// var m = buyApple(20, 6)

// console.log(m);


/*

* 形参--形式参数,在函数调用时的参数,没有确定的值,

* 实参--实际参数,函数调用时的参数,有确定的值.

* 在函数调用时,实参的值会传递给形参.

*/


//练习1 写一个生成随机数的函数

// function randomNum(m, n){

//

// return Math.floor(Math.random()* (n - m + 1) + m);

// }

  var x =randomNum(0, 10);

  console.log(x);

//   //生成随机色的函数

//   function randomColor(){

//   var red = randomNum(0, 255);

//   var green = randomNum(0, 255);

//   var blue = randomNum(0, 255);

//   return "rgb(" + red + "," + green + "," + blue + ")";

//    

//   }

//    

//   var divs = document.getElementsByClassName("d");

//   for(i = 0; i <3; i++){

//   divs[i].style.background = randomColor()

//   }


//练习2 写一个求三个数中间的函数

function mid(x, y, z) {

var max

var min

var mid

max = Math.max(x, y, z)

min = Math.min(x, y, z)

mid = x + y + z - min - max

return mid;

}

// var x = mid(9,8,10)

// alert(x);


function mid_1(x, y, z) {

var mid;


mid = x > y ? (y > z ? y : (x > z ? z : x)) : (x > z ? x : (y < z ? y : z))


return mid;


}

//     var x = mid_1(9,8,10)


//两个数最大值

function twoMax(a, b) {

return a > b ? a : b;

}

//三个数最大值

function threeMax(a, b, c) {

return twoMax(twoMax(a, b), c)

}

// threeMax(1, 2, 3);

function fourMax(a, b, c, d) {

// return twoMax(twoMax(a, b), twoMax(c, d));

return twoMax(threeMax(a, b, c), d)

}


// var c = twoMax(twoMax(twoMax(1, 2), twoMax(3, 4)), 5)

// alert(c)


/*

* 变量的作用域

* 1.js没有块级作用域

* 2.js里有的是函数作用域

*/

/*

* 全局变量:定义在函数外面的变量

* 局部变量:定义在函数内部的变量

* 1.在函数内部,可以访问外部定义的全局变量,也可以访问内部定义的局部变量

* 2.在函数外部,只可以访问全局变量.

* 3.当全局变量与局部变量重名时,以局部变量为准

*/

//

// function text() {

// var a = 10;

// }

// console.log(a)

//

// var b = 10;

//

// function text1() {

// console.log(b)

// }

//

var c = 10;


function text2() {

var c = 20;

console.log(c)

}

text2()


/*

* 变量的生命周期:变量在内存中存在的时间长短

* 1.全局变量的生命周期,直到页面关闭之前都存在,页面关闭之后被删除.

* 2.局部变量的生命周期,在函数运行期间存在,函数运行结束之后被删除.

*/

/*

* 匿名函数

*/

// (function(name){

alert("名字是" + name);

// })("哈哈");

//

// var a = function(name){

alert("名字是" + name)

// }

// a("

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值