函数function
- 格式:function 随便起一个名字(){}
- 定义(也叫函数声明):定义一个函数可以先写一个function,函数就是另一个类型的变量。
- 函数名起名:开发规范要求,函数名和变量名如果由多个单词拼接,必须符合小驼
峰原则(第一个单词首字母小写,后面的首字母大写)
例function theFirstName(){}
document.write(theFirstName);
答案 function theFirstName(){}。打印出来的是函数体。这与 c 语言和 c++,他们打印指针,会输出指针的地址,而 js 这种弱数据语言(解释性语言)永远不输出地址,输出地址指向房间。 - 函数表达式:1)命名表达式。
var test = function abc(){ document.write('a');}
2)匿名表达式。function test(){}
组成形式
-
函数名称
function test(){}其中 function 是函数关键字,test 是函数名,必须有(){},参数可有可没有,参数是写在()括号里面的。
如果写成function test(a,b){}
,相当于隐式的在函数里面 var a,var b 申明了两个变量,()括号里面不能直接写 var。
例function test(a, b){ document.write(a + b) }
test(1, 2)
答案 3。上面这个例子,1 就会到 a 里面去,2 就会到 b 里面去,这是传参的形式 -
参数(可有可没有,但是高级编程必有)
(1)形参(形式参数):指的是 function sum(a,b){}括号里面的 a 和 b
(2)实参(实际参数):指的是 sum(1,2);里面的 1,2
天生不定参,形参可以比实参多,实参也可以比形参多
js 参数不限制位置,天生不定参数
在每一个函数里面都有一个隐式的东西 arguments 这个是实参列表 -
返回值 return
结束条件和返回值 return,return 有终止函数的功能。
没写 return,实际上是加上了一个隐式的 return
例function sum(a, b){ console.log(‘a’); return; console.log(‘b’); }
答案 a
return 最常用的是返回值。本意是把一个值返回到函数以外。
例function sum(){ return 123; console.log(‘a’); } var num = sum();
答案这里的 num 就是 123,而且console.log(‘a’);
无效,这里的 return 又终止函数,又返回变量。一般函数处理完一个参数,是为了返回。
typeof()也是返回值,也是函数
typeof(123)也可以写成 typeof 123【typeof 空格 123】,只是看起来不方便
作用域初探
作用域定义:变量(变量作用于又称上下文)和函数生效(能被访问)的区域。
全局、局部变量。
作用域的访问顺序。
作用域:函数里面的可以访问外面的全局变量。
函数外面不能用函数里面的。里面的可以访问外面的,外面的不能访问里面的,彼此独立的区间不能相互访问。
test{}和 demo{}不能互相访问,但是可以访问外面的全局变量。
例
彼此独立的区间不能相互访问。
全局变量都可以访问。
例
function test(){
var a =123;
function demo(){
var b = 234;
document.write(a);
}
demo();
document.write(b);
}
上面的 document.write(b);
不能访问 var b ,
上面的 document.write(a);
可以访问 a
外层函数不能访问里层的,里层的可以访问外层的,越往里权限越大。
留言:欢迎各位小伙伴们的评论哈 ~