常用函数类型和数据类型

1.常用函数类型

  1. // 1.命名函数
  2. function getName(username){
  3. return 'Hello ' + username;
  4. }
  5. console.log(getName('关羽'));
  6. // 2.匿名函数
  7. //1.将函数当值赋给一个变量
  8. let getUserName = function(username){
  9. return 'Hello ' + username;
  10. }
  11. console.log(getUserName('张飞'));
  12. //2. 声明并立即调用
  13. console.log(function(username){
  14. return 'Hello ' + username;
  15. }('赵云')); //在{}后直接跟()调用
  16. // 3.箭头函数,用来简化匿名函数的声明
  17. // 转化方法
  18. // 3-1. 去掉 function
  19. // 3-2. 在参数列表与大括号之间使用 '=>'
  20. // 如果只有一个参数,可以不写参数列表的括号
  21. // 如果没有参数,括号必须加上
  22. // 如果函数体只有一条语句, 大括号都可以不用
  23. // 匿名函数
  24. let sum = function(a,b){
  25. console.log(a+b);
  26. }
  27. // 转化
  28. sum = (a,b) => console.log(a+b);
  29. //调用
  30. sum(33,66);
  31. // 总结
  32. // 1. 如果函数需要多次调用, 用命名, 函数表达式, 都可以
  33. // 2. 如果代码要求,必须遵循"先声明, 再调用"的规则, 那就必须用"函数表达式"
  34. // 3. 如果只有完成一些特定的,一次性的工作, 不想留下任何痕迹, 用"IIFE", 模块
  35. // 4. 如果调用函数时,需要一个函数充当参数,例如:回调, 就可以使用箭头函数来简化 匿名函数的 声明

2.数据类型

  1. // 1. 原始类型: number, string, boolean,undefined, null
  2. // 1.1 number
  3. console.log(100);
  4. // 1.2 string
  5. console.log("马超");
  6. // 1.3 boolean
  7. console.log(20 > 5); // true
  8. // 1.4 undefined
  9. let a;
  10. console.log(a); //undefined
  11. // 1.5 null
  12. console.log(null); //null
  13. // 2. 引用类型: array, object, function
  14. // 一个变量保存的集合,并非单值,访问时不能直接访问,必须通过这个变量的引用来访问
  15. // 2.1 array
  16. const arr = [1, 2, 3];
  17. const arr1 = [1, [2, "超人", "abc"], true];
  18. //访问
  19. console.log(arr);
  20. console.log(arr1[1][1]); //超人
  21. // 引用类型判断不能用typeof
  22. console.log(typeof arr); // object
  23. console.log(Array.isArray(arr)); // true
  24. // 2.2 object
  25. // 先把对象想象成一个关联数组
  26. let obj = {
  27. id: 1,
  28. arr: [2, "超人", "abc"],
  29. name: "锦衣卫",
  30. "my tel": 13888888888,
  31. age: 18,
  32. };
  33. // 为了简化,并与数组区别,对象有自己的成员访问符: .
  34. console.log(obj.username); //对象访问方式
  35. console.log(obj["my tel"]); //数组访问方式
  36. function getUser(obj) {
  37. return "id = " + obj.id + ", name = " + obj.name + ", age = " + obj.age;
  38. }
  39. console.log(getUser(obj)); // id = 1, name = 锦衣卫, age = 18
  40. //在对象中可以使用变量this来引用对象自身
  41. obj = {
  42. id: 1,
  43. username: "jack",
  44. num: [1, 2, 3],
  45. isOk: true,
  46. getInfo: function () {
  47. return "id =" + this.id + ",username =" + this.username;
  48. },
  49. };
  50. console.log(obj.getInfo);
  51. //函数当返回值:闭包
  52. function fn() {
  53. let a = 1;
  54. return function () {
  55. //内部函数访问外部函数的值,导致外部函数不能释放,形成闭包
  56. return a++;
  57. };
  58. }
  59. console.log(fn());
  60. console.log(fn());
  61. //函数就是对象,对象就可以添加属性和方法
  62. let fn1 = function () {};
  63. fn1.myemail = "admin@php.cn"; //添加属性myemail
  64. fn1.getEmail = function () {
  65. console.log(this.myemail);
  66. }; //添加方法

更多相关文章

  1. android 异步下载图片
  2. Android中获取指定日期是星期几
  3. Android(安卓)中沉浸式状态栏实现
  4. android 学习笔记有用代码片段(1)
  5. android 常用代码
  6. android O 手机关机流程与时间
  7. Android(安卓)Surface 介绍
  8. Android调用自定义Dialog中的控件
  9. android 调用系统日历

随机推荐

  1. Android自定义View总结(一)基础知识与实例
  2. React Native 调用原生Android/iOS代码实
  3. Android(安卓)性能典范:拯救计划
  4. Android来电铃声默认设置的实现方法与怎
  5. 狂刷Android范例之1:ReadAsset
  6. android 网络连接
  7. 【教程连载】ArcGIS Runtime for Android
  8. 谷歌Android为何掉队?
  9. 如何离线安装android的sdk
  10. Android 虚拟多开系列二——技术原理