关于函数
函数也是一个对象,可以封装一些功能(代码)
当函数用于创建新的对象时,称之为对象的构造函数
函数定义
函数声明的形式定义
语法:
function functionName(parameters){
执行代码
}
(parameters:参数)
eg:
function add(a,b){
return a+b;
}
(分号是用来分隔可执行的js语句,但是函数声明并不是执行语句,所以无需用分号结束)
函数表达式定义函数
用一个变量来接函数,变量就可以作为一个函数来使用
这个函数也叫做匿名函数,没有定义函数的名字,而且用了一个变量去接函数
var add=function(a,b){
return a+b;
}
var sum=add(3,4);
构造函数定义函数
创建一个函数对象:
var add=new Function("a","b","return a+b");
调用:
add(3,4);
add.hello="nihao";
console.log(add.hello);
⚠️当我们已经在定义函数的时候声明了形参,则相当于在函数内部也声明好了对应的变量
比如上面的add(),我们在定义的时候就说了我们需要两个形参a,b
函数的调用
调用函数的时候,不会检查实参的数量和类型
自调用
1.使用()实现
(function (){
console.log("hi);
})();
//或者
((function add(a,b){
return a+b;
}(1,3))
2.使用!、+、-实现
!function(){
console.log("hi")
}();
//
+function(){
console.log("hi")
}();
//
-function(){
console.log("hi")
}();
箭头函数
- 多个参数:(参数1,参数2…)=>{code}
- 单个参数:[括号可选] (参数)=>{code}
- 无参数:()=>{code}
- 单一表达式:(参数1,参数2…)=>单一表达式 <=> (参数)=>{return 单一表达式;}
⚠️箭头函数的this对象:是定义该函数时所在的作用域指向的对象,不是使用时所在作用域指向的对象