常用函数类型与数据类型
一.常用的函数类型
1.命名函数
function name(a) {
return a;
}
console.log(name("命名函数"));
2.匿名函数
调用方式
1.赋值给变量
let b = function (a) {
return a;
};
console.log(b("匿名函数"));
2.将声明与调用二合一,立即调用函数,IIFE
console.log(
(function (a) {
return a;
})("立即调用函数")
);
3.箭头函数,简化匿名函数声明
let c = (a) => {
return a;
};
console.log(c("箭头函数"));
二.常用的数据类型
1.原始类型
//number
console.log(typeof 123);
//string
console.log(typeof "123");
//Boolean
console.log(typeof true);
//undefined
console.log(typeof a);
//null
console.log(null == null);
2.引用类型
//数组array
const arr = [1, 2, 3];
//对象object
let obj = { id: 1, name: "王老师", age: 20 };
//函数function
function getname(obj) {
return "name is " + obj.name;
}
console.log(getname(obj));
//对象字面量
obj2 = {
id: 2,
name: "张老师",
age: 30,
getname: function () {
return "name is " + this.name;
},
};
console.log(obj2.getname());
//函数可以作为参数传递
function func2(a) {
console.log(a());
}
func2(function () {
return "Hello";
});
//闭包:函数作为返回值
function func3() {
let a = 1;
return function () {
return a++;
//注意a++与a+=1的区别,a++先返回a的值再参与运算
};
}
const f = func3();
console.log(f());
console.log(f());
//函数即为对象,可以添加属性和方法
let func4 = () => {};
func4.userName = "张三";
func4.getUserName = () => {
console.log(this.userName);
};
//注意箭头函数没有自己的this,箭头函数的this为整个windows对象
func4.getUserName();