博客列表 >js变量、常量、函数类型、作用域、闭包、模板字符串

js变量、常量、函数类型、作用域、闭包、模板字符串

搁浅
搁浅原创
2021年10月05日 12:45:15479浏览

const常量

常量长期使用的变量,不能被更改重新赋值,权限上只能读数据,不能写数据。
  1. const j = 5;
  2. console.log(j); //这离输出5
  3. j = 8; //这种就是重新给常量赋值,常量只能赋值初始化,后面只管用常量。

let变量

所谓变量就是可以重新赋值,可变的一个量。权限上能读数据,也能写入数据。
  1. let j = 5;
  2. j = 8; //这里给j赋新值
  3. console.log(j); //这里输出8

普通函数:

  1. function name(){
  2. //这就是普通函数
  3. }

匿名函数

把函数赋值给变量、事件,等。
  1. let game = function name(){
  2. //把函数赋值给变量
  3. }
  4. let game = function(a,b){
  5. return a+b;
  6. }
  7. console.log(game(1,2)) //输出3
  8. //简化写法
  9. let game = (a,b)=>{
  10. return a+b;
  11. }
  12. console.log(game(1,2));
  13. //如果只有一行代码可以把花括号去掉。
  14. let game = (a,b) => a+b;
  15. console.log(game(1,2));
  16. //只有一行代码也可以去掉return和花括号。
  17. let game = a=> a+2;
  18. console.log(game(1));
  19. //如果参数只有一个,参数括号也可以省略。
  20. let game = ()=> 1+2;
  21. console.log(game());
  22. //没有参数时,必须有括号。

无名函数

没有函数名,调用时不用写函数名(参数)直接调用,function前后要加上括号。
  1. (function (a,b){
  2. return a+b;
  3. })
  4. (1,2);//没有名调用后直接销毁。
  5. //无论什么类型的函数,参数可以有可以无,具体看场景。

闭包函数

就是函数里面套函数,子函数(闭包函数)可以访问外部的变量,return返回给外部。
  1. function name(){
  2. j = 0;
  3. function age(){
  4. j++;
  5. alert(j);
  6. }
  7. return age;
  8. }
  9. name();
  10. //这种写法就是闭包写法,name的数据return返回给age

函数的作用域

  1. function game(){
  2. let a = 1;
  3. function mi(){
  4. let b = 2;
  5. }
  6. }

常用数据类型有:Number(数子-123)、NaN(是Number中的一种,非Number)、String(字符串-abc123)、Boolean(ture-真,false-假)、Null(空)、undefined(未定义)、object(对象)。
引用类型:[数组类型]、{对象类型}、function

数组与对象的使用

  • 数组
    1. let xiaoming = [3,5,6,8];
    2. console.log(xiaoming[2]);
    3. //输出6,因为是重0开始不是重1开始。
  • 数组传入未知多个值
    1. function a(...b){
    2. console.log(b);//输出数组内容
    3. console.log(b.reduce((p,c)=>p+c));//数组的和15
    4. }
    5. a(1,2,3,4,5);
  • 对象
    1. let xiaoming = { name: "小明", age: 18, weight: "体重55KG" };
    2. consoli.log(xiaoming);
    3. //输出{name: "小明", age: 18, weight: "体重55KG"}
  • 数组里面的对象,或者任何类型的数据。
    1. let xiaoming = [{ name: "小明", age: 18, weight: "体重55KG" }];
    2. console.log(xiaoming[0]);
    3. /*-----------------------------------------------------------------------*/
    4. //输出{name: "小明", age: 18, weight: "体重55KG"}
    5. let xiaoming = [{ name: "小明", age: 18, weight: "体重55KG" },{ name: "小白", age: 22, weight: "体重45KG" }];
    6. //输出数组离所有的对象,console.log(xiaoming.length)可以输出2,表示有2个对象。
  • rest参数…不确定有多少个参数的时候使用它
    1. function jisuan(...num){
    2. return num.reduce((p,c)=>p+c);
    3. }
    4. jisuan(1,2,3);
    5. //输出6,无论多少值都接收。在函数中用...就是rest,归并操作,搜索一个数组中。
    6. let i = [1, 2, 4, 6, 2];
    7. console.table(...i);
    8. //输出1 2 4 6 2,用在函数的参数调用中,就是扩展、扩开,spread

    es6解决模板字符串模板传统方式

    1. let a = 4;
    2. let b = 6;
    3. console.log(`${a}+${b}=${a+b}`); //输出效果4+6=10
    4. /*----------------------------------------------------*/
    5. console.log("htmn\n"+"css\n"+"js\n"); //老式写法
    6. let aa = `html
    7. css
    8. js`;
    9. console.log(aa);
    10. //输出效果,自动换行。
    11. html
    12. css
    13. js
    14. /*----------------------------------------------------*/
    15. function game(strings,a,b){
    16. console.log(`${strings[0]}${a}x${strings[1]}${b}=${a*b}`);
    17. }
    18. game`单价:${2}数量:${5}`;
    19. //输出:单价:2x数量:5=10
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议