JavaScript学习笔记——函数
基本概念
由事件驱动的;
/当它被调用时执行的可重复使用的代码块;
函数也是对象的一种。
意义/作用
避免污染源代码;
避免代码逻辑重复书写。
定义方式
- 方法一(常用)
function 函数名(){ //此处必须有函数名
//函数体(代码块)
}
注意
:大小写敏感;函数名命名规则一般遵循驼峰命名规则。
- 方法二
var 变量 = function 函数名(){ //此处的函数名可以没有
//函数体(代码块)
}
调用方式
- 调用方式:函数名();
- 常见调用位置:
<script>
标签体内直接调用;
//普通函数的调用
function plus(){
var a = 2;
var b = 3;
var sum = a + b;
alert(sum);
}
plus();
//表达式函数的调用
var plus2 = function(){
var a = 2;
var b = 3;
var sum = a + b;
alert(sum);
}
plus2();
//对象内部方法调用
var obj = {
name : "张三",
sayHi : function(){
alert("Hello!");
}
}
obj.sayHi();
//声明的同时进行调用(较少见)
(function plus(){
var a = 2;
var b = 3;
var sum = a + b;
alert(sum);
})();
- HTML元素中,如按钮
onclick
事件、a
标签中。
<button onclick="pllus()">点击</button>
<a href="javascript:plus();">点击</a>
<script type="text/javascript">
function plus(){
var a = 2;
var b = 3;
var sum = a + b;
alert(sum);
}
</script>
参数
- 基本语法
function 函数名(参数1,参数2,···,参数N){
//函数体(代码块)
}
- 使用arguments
function 函数名(){
var sum = arguments[0]+arguments[1]; //通过arguments获得参数
alert(sum);
;}
函数名(参数1,参数2)
例子
function sum(){
var sum = 0;
for(var temp in arguments){
sum += arguments[temp];
}
alert(sum);
}
sum(1,2,3,5);
- 可传入不同类型的参数;
- 参数通过逗号分隔;
- 参数在传递时要与定义的顺序保持一致。
返回值
function plus(i,j){
var i = 1;
var j = 2;
var sum = i + j;
return sum; //在函数使用return时,函数会停止执行(后面的语句不再执行),同时返回值。
}
var total = sum();
alert(total);
变量的作用域
- 变量的作用域是程序源代码中定义这个变量的区域;
- 全局变量是可被本程序所有对象或函数引用。拥有全局作用域;
- 局部变量是在程序中只在特定过程或函数中可以访问的变量,作用域是局部性的;
- 优先级:局部变量>全局变量。
<script>
var a = 1; //全局变量
function test(){ //函数如果带参数,则所带参数为局部变量
var b = 4; //局部变量
x = 3; //没有用var声明,是全局变量
alert(a); //可获取到
}
alert(b); //获取不到
test();
alert(x); //可获取到,前提是调用了该函数
</script>