什么是函数
函数就是一段可以反复调用的代码块。函数还能接受输入的参数,不同的参数会返回不同的值。
函数的声明:
function [函数名] (){
任意代码
[return ...]
}
函数声明的三种方法
(1)
function sum (a, b){
return a + b
}//函数声明语句
(2)
var sum2 = function sum1 (a, b){
return a + b
}
//sum2可以在外面里面都用
//sum1只能在这个花括号里面用,外面用会显示undefined
//等号右边是一个函数表达式
(3)
var sum = function (a, b){
return a + b
}
函数的调用:
this:第一个参数(如果this为空 会显示window)
arguments:第二个到最后一个组成的参数
(1)指定this
var f = function(){
console.log(‘this’)
console.log(this)
console.log(‘arguments’)
console.log(arguments)
}
var xxx = {name: 'fang'}
f.call{xxx,1,2,3,4,5}
(2)不传this
var f = function(){
console.log(this)
console.log(arguments)
}
f{1,2,3}
f.apply (undefined, [a,b,c])
形式不一样实质一样
f.call (undefined , a, b,c)
f.call (undefined , a, b,c)
等价于
f(a, b, c)
参数
形式参数(申明)
实际参数(实参)
例:
function f(){
var p1 = arguments [0]
var p2 = arguments [1]
}
f(1,2)
arguments = [1,2]
//p1,p2是形式参数
//(1,2)是实际参数
函数和函数调用的区别
例:
function f(){
return 1;
}
typeof f //'function'
fypeof f.call()//'number'
typeof f()//'number'
函数后面不加括号就返回的是它的本身数据类型
函数后面加括号返回的是它的值的类据类型
没有返回值就是undefined