函数基础
- 函数:可重复执行的代码块,为了完成特定的功能。
- 低耦合:将各个功能分开实现,封装成一个一个模块,尽可能的降低与其它业务和功能的依赖。
- 高内聚:一个业务尽可能的让他所涉及的功能和代码放到一个模块中;实现模块的单一责任制,在一个模块执行该功能的时候能够独立出来,
- 解耦合:使用函数来解耦合,大大的提高代码性能。
- 函数名的命名规则
- 不能以数字开头
- 命名包含字母、数字、_、$
- 小驼峰命名法,例如:myFunctionName
- 大驼峰命名法,例如:MyFunctionName
- 下划线分割,例如:my_Function_Name
- 函数的组成部分
function、函数名、参数(可选)、 函数体、返回值
函数种类
- 函数声明(普通函数)
function test(参数1, 参数2){
}
test();
- 匿名函数表达式
var x = function(){
var a = 1,
b = 2;
console.log(a,b);
}
x();
- 箭头函数
var myFunction = (参数) => {
}
- 构造函数
function Person(){
this.name = name;
this.age = age;
}
var personOne = new Person("Camille", "23");
形实参及映射
- 形参:形式参数,相当于占位符,在接受调用该函数时接受传来的参数;
- 实参:实际参数,在函数调用的时候赋值参与运算的参数;
参数可以在调用的时候赋值,在函数内部声明的话在调用时无法赋值;
形参和实参的数量可以不相等;
实参的值是可以更改的,但是实参传了值才会更改,如果实参没有传值只在函数内部赋值是不会执行。
function test(a, b){
a = 3;
console.log(arguments[0]);
}
test(1, 2);
function test(a, b){
b = 4;
console.log(arguments[1]);
}
test(1);
- 映射
形参和实参在系统内部形成了一个映射,无论实参怎么赋值形参就会跟着变; - return
函数如果没有添加return的话js引擎就会默认添加return,这就是隐式添加。
作用:1. 终止函数的执行; 2. 返回值
function(){
console.log("我要开始执行了");
return;
}
变量类型
- 全局变量:全局作用域声明的变量称为全局变量,一般定义在函数体外;
- 局部变量:作用域是局部的变量称为局部变量,一般定义在函数体内,只能在函数中使用;
var b = 12;
function test(){
var a = 2;
function test1(){
var c = 5;
console.log(a, b);
}
console.log(c);
}
- 作用域:声明的变量可使用的范围;若在函数体内声明变量则是每个函数自己独立的作用域.
作用域的使用提高了程序逻辑的局部性,增强程序的可靠性,减少名字冲突。