2017年10月17日
学习笔记与总结
1.设置函数方法体与函数的调用:
为什么要有函数
函数的基本目的是对一个功能进行封装,
方便多处进行调用,实现代码的复用!
return:谁调用返回值返回给谁。
调用方式:
<
button
οnclick=
"
show2
()
"
>
弹出
2
</
button
>
for
(
var
i
=
100
;
i
<=
999
;
i
++){
if
(
check
(
i
)){
alert
(
i
);
}
}
var
fun
=
function
() {
alert
(
123
);
};
!
function
() {
alert
(
234
);
}();
function
show1
() {
alert
(
1
);
}
show1
();
2.函数传参
实参 与 形参的概念
函数内部使用 创建 与 赋值 的变量为形参。
由外部传递到内部函数使用的 参数 为实参。
由body标签内接收数据:
var
num1
=
parseInt
(
document
.
getElementById
(
"num1"
).
value
);
接受调用函数中 ID为num1 的元素 所输入 的数据 给 num1;
打印/传出数据:
document
.
getElementById
(
"result"
).
value
=
res
;
将res 的值 传送给调用函数中 ID为result 的元素
Arguments:数据对象,主要用于保存函数的参数。
属性callee:指向拥有arguement对象的函数。
属性length:所保存数据的长度。
this:函数调用语句所在作用域。函数的调用者。
arguments
[
i
]:所保存数据中的第几个数据。
(
arguments
:可以通过
arguments
属性来判断传递的实参个数
*
根据实参个数的不同,来做不同的逻辑处理)
参数在两个包含关系的函数体中传递时,可以使用设置全局数组变量的方法进行传递。
var
arg
= [];
arguement的callee属性的应用:递归
var
sum
=
0
;
!
function
(num) {
if
(num <=
10
){
sum
+= num;
num++;
arguments
.
callee
(num);
}
}(
1
);
alert
(
sum
);
3.局部变量和全局变量
var
hhy
=
18
; 全局变量:可以在任意一个函数内部使用
function
fun1
() {
var
m
=
10
; 局部变量:只能在方法体内部使用
alert
(
m
);
alert
(
hhy
);
}
作用域链:
没有用var修饰的是全局变量
本质:
当一个没有用var修饰的变量被初始化的时候
会往它上一层查找有无同名变量,
如果有:覆盖之前的数据
如果没有找到:生成一个新的
4.代码调试(在浏览器中)
代码调试:
F10:代码一行一行执行,遇到函数,一次执行完毕
F11:代码一句一句执行,遇到函数,进入到函数内部
Shift+F11:跳出函数
F8:跳到下一个断点