js---函数 知识点总结

函数:学习函数,可以将一段重复的代码进行封装,一次声明,多次调用
1、好处:维护性

2、声明函数:函数名规范:一般都是动词+名词,一般函数都是要做某件事
语法:function 函数名(){ 函数体 }
调用函数:函数名();
注意:函数光声明时不会执行的,必须要进行调用

3、函数的参数:在函数中,需要发生变化的值,可以定义成函数的参数
(1)形参:函数在声明时,函数名()内的参数,就是形参,形参默认没有值或者类型 ,只有函数在调用时,形参才会有具体的值和类型 作用:占位置
(2)实参:函数调用时,传递给函数的参数,就叫实参,实际参数有具体的值或者类型 作用:在函数调用时,将数据传递给形参
注意:形参和实参一一对应!!!

4、函数的返回值:return的值,就是函数的执行结果 return后面的代码不执行了,return表示函数的结束
函数内部声明的变量或者形参,只能在函数内使用,出了函数就用不了了,如果希望函数执行有结果 需要通过return返回内容

5、函数的三要素(决定一个函数怎么去使用)
(1)函数名:一个函数一次生命,通过函数名可以多次调用
(2)函数参数:可以没有函数参数,但是如果需要变化的值,一般要提取成形参
(3)返回值:可以没有返回值,但是如果需要拿到函数的执行结果,就必须return
小结:函数名很重要,可以用于调用,参数和返回值都是可以没有的,但是具体看需求

6、开发的时候:
注意规范:函数的参数要一一对应
传递的参数如果少了,没有接受到值得形参,值就是undefined,、
传递的参数如果多了,多传的参数会被忽略

7、函数的调试说明:打断点:ctrl+shift+c 打开控制台
F8 向后执行到下一个断点处
F10 让代码往下一步执行,如果遇到了函数调用,会跳过函数的执行过程,直接看结果
F11 让代码往下一步执行,如果遇到了函数调用,会进入函数一步一步执行
shift+F11 跳出函数的执行 (将当前函数调用的剩余代码全部执行完,直接看结果)

8、函数作用域:变量起作用的区域
(1)全局作用域:在script标签内,在函数外的区域 就是全局作用域
声明在全局作用域的变量,叫做全局变量
特征:全局变量在任何地方都可以使用
(2)局部作用域:在函数内部的区域,就是局部作用域
声明在函数内部的变量,就叫做局部变量
特征:局部变量,只有在当前函数可以使用,出了就函数就不能用了

(3) 一个变量未声明未赋值,直接用,会报错
如果在作用域内有这个变量,直接用 如果没有,才会往外面找,去全局作用域找

(4)变量访问规则:
如果自己有,就用自己的,该自己的 如果自己没有,就用外面的,改的也是外面的
如果自己的作用域有,就直接用自己的 如果自己的作用域没有,就往外找,找全局的

9、隐式全局变量:一个从未声明的直接赋值,那么就成了隐式全局变量(要避免 ---变量一定先声明,在使用)

10、预解析:(不好)--虽然可以提升我们的声明,但是我们开发是,还是要先声明,后使用!!!
(1)核心点:就是提升函数和变量的声明 --在代码执行前
(2)概念:预先解析 浏览器会看有多少的变量和函数
1、所有的变量声明,都会提升到最顶部,只提升声明,不提升赋值
2、所有的函数声明,都会提升到最顶部,只提升声明,不提升调用------函数表达式:提升变量 ,函数声明式:提升整体
(3)补充说明:多个重名的var声明,后面的var会被忽略
多个重名的函数声明,后面的会将前面的覆盖
如果出现了同名的变量和函数 函数优先 函数的提升告诉浏览器有一个变量名,其次变量的值是一个函数

posted @ 2019-05-31 22:34  柚稚人儿  阅读(131)  评论(0编辑  收藏  举报