1,命名函数
function getName(name){
return 'Hello' + name;
}
console.log(getName('法外狂徒'))
匿名函数
(1)第一种声明方式,将匿名函数当成值付给一个变量.
let getName = function(name){
return 'Hello' + name;
}
console.log(getName('法外狂徒'));
(2)第二种声明方式:立即调用函数;
console.log(
(function(name) {
retuin 'Hello' + name;
})('法外狂徒') );
3、箭头函数,用来简化匿名函数的声明
let add = function(a,b){
console.log(a + b);
};
//转化方法
//1、去掉function
//2、在参数列表与大括号之间使用’=>‘
let sum = (a,b)=> {
console.log(a + b);
};
//如果只有一个参数可以不要小括号;
//如果没有参数必须要有小括号;
//如果函数体只有一条语句,大括号可以省略
不同函数类型的使用场景
1、如果函数需要多次调用,使用命名函数或函数表达式。
2、如果代码要求,必须遵循’先声明,再调用‘的规则,那就必须用’函数表达式‘。
3、如果只要完成一些特定的、一次性的工作,不想留下任何痕迹,用’IIFE‘。
4、如果调用函数时,需要一个函数充当参数,例如:回调,就可以使用箭头函数来简化匿名函数的声明。
常用数据类型
1、原始类型
number,string,boolean,undefined,null
2、引用类型
(1)数组array
一个变量保存的集合,并非单值,访问时不能直接访问,必须通过这个变量的引用来访问
const arr = [1,2,3];
const arr1 = [1,'admin',[1,2,3,],true];
//访问
console.log(arr);
console.log(arr1[1]);
console.log(arr1[2][1]);
(2)对象object
let person = {
name:'Tom';
gender:'男';
height:180;
weight:150;
}
//访问方式
//1.数组访问方式
console.log(person['name']]);
//2、对象特有的访问方式
console.log(person.name);
//在对象中可以使用变量this来引用对象自身
obj = {
id: 1,
username: 'jack',
num: [1, 2, 3],
isOk: true,
getInfo: function() {
return 'id =' + this.id + ',username =' + this.username;
},
}
console.log(obj.getInfo);
//函数当返回值:闭包
function fn(){
let a = 1;
return function(){
return a++;
};
}
console.log(fn());
//函数就是对象,对象就可以添加属性和方法
let fn1 = function(){};
fn1.myemail = 'admin@php.cn';//添加属性myemail
fn1.getEmail = function(){
console.log(this.myemail);
};//添加方法