JS函数类型与数据类型学习
16lz
2022-01-24
一. 函数类型, 匿名函数
1.命名函数
// 有名字的函数
// 命名: 动 + 名
// 声明
function getName(username) {
let a = "猪";
return "Hello " + a + username;
}
// 调用
console.log(getName("老师")); // Hello 猪老师
2.匿名函数
//执行方式1: 立即执行
//IIFE
(function(username) {
console.log("Hello " + username);
})("灭绝老师");
console.log(
(function(username) {
return "Hello " + username;
})("灭绝老师")
);
// 执行方式2: 保存到一个变量中
// 函数表达式
const getUserName = function(username) {
return "Hello " + username;
};
console.log(getUserName("马老师")); //Hello 马老师
3.箭头函数
使用 箭头函数 来简化匿名函数的声明
let f1 = function(a, b) {
return a + b;
};
// 1. 去掉 function
// 2. 在参数括号(...) 与 大括号{...} 之间使用 胖箭头 => 连接
f1 = (a, b) => {
return a + b;
};
// 如果只有一条语句,return ,可以不写大括号
f1 = x => x * 2;
console.log(f1(40));
二. 数据类型
1.原始类型(简单类型、基本类型、单值类型)
- 不可再分, 是构成其它复合类型的基本单元
- 原始类型也叫简单类型, 基本类型: 一个变量,存一个值
值 | 类型 | 举例 |
---|---|---|
数值 | number | 123 |
字符串值 | string | php |
布尔值 | boolean | true |
undefined值 | undefined | undefined |
object值 | null | null |
示例:
//数值number
console.log(123, typeof 123);
//字符串值string
console.log("php", typeof "php");
//布尔值boolean
console.log(true, typeof true);
//undefined值
console.log(undefined, typeof undefined);
//object值
console.log(null, typeof null);
2.引用类型
- 引用类型, 都是对象, 默认返回 object ,函数除外 function
- 引用类型: 类似其它语言中的”复用类型”, 集合类型
- 引用类型的数据,由一个或多个, 相同, 或不同类型的”原始类型”的值构造
- 是一个典型的: 多值类型
值 | 类型 | 举例 |
---|---|---|
数组 | array | [“phone”, “computer”, “car”] |
对象 | object | {phone:”huawei”, compute:”联想”, car:”小鹏”} |
函数 | function | total:function(){} |
示例:
//数组
const arr = ["手机", 2, 5000];
// 数组的索引是从0开始递增的正整数, 0, 1, 2
console.log(arr[0]);//手机
console.log(arr[1]);//2
console.log(arr[2]);//5000
//对象
let obj = { name: "手机", num: 2, price: 5000 };
// 对象 更像一个语义化的 数组
console.log(obj["name"]);// 手机
console.log(obj["num"]);//2
console.log(obj["price"]);//5000
//函数
// 对象最吸引人的,不是数组的语义化封装, 而是对数据操作的封装, 方法(语法与函数是一样的)
// 本质上来说, 对象, 就是变量与函数的封装, 内部, 变量->属性, 函数 -> 方法
obj = {
name: "手机",
num: 3,
price: 7000,
// total: 方法,实际上还是一个属性,只不过它的值是一个函数
total: function () {
let str = `${this.name} 总计 ${this.num * this.price} 元`;
return str;
},
};
console.log(obj.total());//手机 总结 21000 元
更多相关文章
- Android应用程序消息处理机制(Looper、Handler)分析
- 论Android(安卓)Binder驱动在Framework中的重要性
- Android的NDK开发(1)————Android(安卓)JNI简介与调用流程
- Android的init过程(二):初始化语言(init.rc)解析
- SQL开窗函数的具体实现详解
- 详细分析sqlserver中的小数类型(float和decimal)
- SqlServer2000+ 身份证合法校验函数的示例代码
- SQL中的开窗函数详解可代替聚合函数使用
- SQL Server分隔函数实例详解