博客列表 >JS 数据类型,作用域闭包,变量与常量的区别

JS 数据类型,作用域闭包,变量与常量的区别

可乐
可乐原创
2021年10月09日 13:06:19360浏览

JS数据类型

常见的数据类型

null、undefined、number、string、boolean
ES6是新引入的原始数据类型,表示独一无二的值,不常用。

引用数据类型

Object、Array、Date、Function,…

js函数

普通函数

  1. function name() {}

匿名函数

  1. cosnt name = fucntion (){}

箭头函数

  1. cosnt name = () => {}

参数类型

  • 形参:函数声明时,函数圆括号内部的参数
  • 实参:函数使用时,函数名后面圆括号内部的参数
  • 剩余参数/归内参数 (参数声明时不确定函数所需参数个数时,可采用),例如
    function name(...args) {};

作用域与闭包的关系与实现

作用域种类

  1. 全局作用域
  2. 函数作用域
  3. 块作用域

    作用域是单向的,由外向内传递可以,由内向外不可以

闭包形成的条件

  1. 父子函数
  2. 自由变量
  3. 闭包函数示例:

    1. const countTo = ((a) => {
    2. return () => a++;
    3. })(300);
    4. console.log(countTo)); // 300
    5. console.log(countTo)); // 301

模板字符串与标签函数的应用方法

模板字符串

传统字符串拼接

  1. const x = 30;
  2. const y = 5;
  3. console.log(x+'-'+y+'='+(x-y));

模块字符串拼接

  1. const x = 30;
  2. const y = 5;
  3. console.log(`${x}-${y}=${x-y}`);

标签函数

  1. console.log`bread ${5} ${25} ${125} cake`;

  1. function total(strings, ...args) {
  2. let res = `${strings[0]}:${args.join()}乘积${args.reduce((x, y)=>x*y)}`;
  3. console.log(res);
  4. }
  5. total`hello${21}${10}${9}${27}`;

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议