在一个完整的项目中,某些功能被反复使用,可以将这些代码封装成函数,当我们要使用功能的时候,直接调用函数即可、 注意:函数是对功能的封装 优点: 1、简化代码结构,增加代码的复用度。 2.如果想修改或调试某一功能时,只需要修改对应的函数
function 函数名(参数列表){ 语句 return 表达式 } function:函数关键词 函数名:遵循标识符规则 ()参数列表:函数从函数调用者获得的信息,可以没有参数 语句:函数封装的功能 return:一般用于结束函数,并返回给函数调用者一些信息,‘表达式’即为要返回给调用者的数据。 如果一个函数没有return,则返回undefined 注意:函数在仅仅声明之后是不会被执行的,只是说明有了一个能完成该功能的函数,还没有被使用。
1.简单函数示例
function func1(){ //定义函数
console.log('my first function!')
}
func1() //执行函数
2.带参函数示例
//一个简单的计算两个数之各的函数
function func2(num1,num2){
for (var i=0;i
var num = 10 //全局变量,可以在函数中调用
function func3(){
var num1 = 20 //局部变量,只能在当前函数中调用,不能在外部调用
console.log(num)
num = 20 //函数中可以修改全局变量
console.log(num2) //变量提升,num2的值为undefined
var num2 = 30 //变量提升,函数中会把所有的变量定义提升到函数的起始处,但赋值不会被提升
num3 = 40 //函数中没有用var定义的变量,默认是全局变量,可以在函数外使用
}
func3()
console.log('num=' + num)
console.log('num3=' + num3)
function mySum(num1,num2){
return num1+num2
}
var f = mySum //把函数赋值给一个变量,可以通过这个变量名来使用函数
console.log(f(3,4))
function myfunc(func,num1,num2){
return func(num1,num2)
}
console.log(myfunc(mySum,5,6)) //将函数当做参数传递给另一个函数
var f = function(num1,num2){ //定义一个匿名函数(没有函数名),并将其赋值给一个变量
return num1+num2
}
console.log('f=' + f(2,3))
function mySum1(num1,num2,func){
return func(num1,num2)
}
var sum = mySum1(8,9,function(a,b){ //一般将匿名函数做为参数传递到另一个函数中
return a+b;
})
console.log('sum=' + sum);
定义完函数立即执行
(function(str){console.log(str);}) ("sally"); //第一个()内是一个匿名函数,第二个()用于给函数加参数
Math.round(3.2415) //四舍五入并取整,值为3
Math.ceil(3.7) //向上取整,值为4
Math.floor(3.7) //向下取整,值为3
Math.max(3,5,2,4,6) //取最大值,值为3
Math.min(3,5,2,4,6) //取最小值,值为2
Math.abs(-3.6) //取绝对,值为3.6
Math.pow(2,3) //求x的y方
Math.sqrt(9) //开方,值为3
Math.random() //获取0-1之间的伪随机数
//parseInt(Math.random()*(y-x+1)+x)) //获取x-y之间的随机数,包含x和y
parseInt(Math.random()*(6-2+1)+2) //获取2-6之间的随机数,包含2和6