Blogger Information
Blog 30
fans 0
comment 0
visits 13908
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
常用函数类型与数据类型
天宁
Original
473 people have browsed it

函数

  1. 如果函数需要多次调用, 用命名, 函数表达式, 都可以
  2. 如果代码要求,必须遵循”先声明, 再调用”的规则, 那就必须用”函数表达式”
  3. 如果只有完成一些特定的,一次性的工作, 不想留下任何痕迹, 用”IIFE”, 模块
  4. 如果调用函数时,需要一个函数充当参数,例如:回调, 就可以使用箭头函数来简化 匿名函数的 声明
命名函数
  1. function getName(username) {
  2. return 'Hello ' + username;
  3. }
  4. console.log(getName('猪老师'));
匿名函数
  • 声明方式1,将匿名函数当成值赋给一个变量

    1. let getUserName = function(username) {
    2. return 'Hello ' + username;
    3. };
    4. console.log(getUserName('王老师'));
  • 声明方式2,将声明与调用二合一:立即调用函数,IIFE(简写)

    1. console.log(
    2. (function(username) {
    3. return 'Hello ' + username;
    4. })('张老师')
    5. //表达式,是用一对括号包住的
    6. );
箭头函数,用来简化匿名函数的声明
  • 转化方法,去掉 function,在参数列表与大括号之间使用 ‘=>’

    1. //转换前
    2. let add = function(a, b) {
    3. console.log(a + b);
    4. };
    5. //转换后
    6. add = (a, b) => {
    7. console.log(a + b);
    8. };
  • 如果只有一个参数,可以不写参数列表的括号

    1. add = a => {
    2. console.log(a + 88);
    3. };
  • 如果没有参数,括号必须加上

    1. add = () => {
    2. console.log(34 + 88);
    3. };
  • 如果函数只有一条语句,大括号都可以不用.

    1. add = () => console.log(34 + 88);
    2. add();

数据类型

原始类型

包含:number , string , boolen , undefined , null

引用类型,array , object , function

一个变量保存的是一个集合,并非单值,访问时不能直接访问,必须通过这个变量的引用来访问

  • 数组:array

    1. //访问数据元素,必须通过数组的引用(数组名称arr)来访问(arr是一个访问入口)
    2. //数组成员的索引是从0开始的
    3. const arr = [1, 'admin', [1, 2, 3], true];
    4. console.log(arr);
    5. console.log(arr[1]);
    6. console.log(arr[2][1]);
    7. //数组类型判断不能用typeof,得用Array.isArray(数组)
    8. console.log(Array.isArray(arr));
  • 对象:object

    1. let obj = {
    2. id: 1,
    3. username: 'jack',
    4. num: [1, 2, 3],
    5. isOk: true,
    6. 'my email': '498668472@qq.com',
    7. // 将一个函数转为对象的方法,封装到对象中
    8. getUser: function () {
    9. // 在对象中,使用变量this来引用对象自身
    10. return 'id =' + this.id + ', username =' + this.username;
    11. },
    12. };
    13. //用数组的方式访问成员也可以
    14. console.log(obj['username']);
    15. //为了简化,并与数组区别,对象有自己的成员访问符:.
    16. console.log(obj.username);
    17. //如果对象中有非法键名,我们只能使用数组的方式访问
    18. console.log(obj['my email']);
    19. //对象是可以将数据与函数封装到一起,做为一个独立的编程单元
    20. //就是上面的getUser的方式
  • 函数:function

    1. //函数是对象,也是一个值,可以当成参数传递,也可以当成返回值
    2. function f1(callback) {
    3. console.log(typeof callback);
    4. console.log(callback());
    5. }
    6. f1(function() {
    7. return 'Hello 猪老师';
    8. });
    9. // 函数当返回值: 闭包
    10. function f2() {
    11. // a是 f2的私有变量
    12. let a = 1;
    13. return function () {
    14. // return (a += 1);
    15. // 而此时,子函数中的a并不是自己的,是父函数的
    16. return a++;
    17. };
    18. }
    19. console.log(f2());
    20. //直接调用就无法实习闭包效果,需要声明一个变量来调用
    21. const f = f2();
    22. console.log(f());
    23. console.log(f());
    24. console.log(f());
    25. // 函数就是对象,对象就可以添加属性和方法
    26. let f3 = function () {};
    27. f3.myemail = 'admin@php.cn';
    28. console.log(f3.myemail);
    29. f3.getEmail = function () {
    30. console.log(this.myemail);
    31. };
    32. f3.getEmail();
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post