Blogger Information
Blog 27
fans 0
comment 0
visits 19055
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
JS基本语法3(引用类型/作用域/对象简化/流程控制)
茂林
Original
560 people have browsed it

JS基本语法

(引用类型/作用域/对象简化/流程控制)

引用类型

引用类型:数组/对象/函数

1.数组

1.1 定义数组:使用关键字const
数组成员可以是任意类型

  1. const arr=[1,'admin',true];

1.2 访问查看数组

  1. //访问数组中全部数据
  2. console.log(arr);
  3. console.table(arr);
  4. //访问数组单个或多个数据
  5. console.log(arr[1]);
  6. console.log(arr[0],arr[1],arr[2]);

1.3 验证数组:数据属于对象中的一种

  1. console.log(typeof arr);
  2. console.log(Array.isArray(arr))

输出结果:
js

2.对象

  • 定义对象使用关键字 let
  • 与数组相比 index(数值)->key(字符串,语意化),
  • 每个对象的成员就是属性
  • 当属性名是非法标识符时,用数组索引方式访问
  • 如果属性的值是一个函数声明时,这个属性就叫方法
    定义对象
    1. user={
    2. id:1,
    3. uname:'admin',
    4. isMarriedtrue,
    5. 'my email':'12345@qq.com',
    6. show:function (){
    7. //如果一个属性的值是函数声明时,这个属性就叫方法
    8. return `id=${this.id},uname=${this.uname} `;
    9. }
    访问对象
    1. console.log(user.id,user.uname,user.isMarried);
    2. //如遇到属性是非法字符串,可以用数组索引的方式访问
    3. console.log(user['my email']);
    4. console.log(show());

    3.数组和对象的应用场景

  • 类数组:类似,像数组 ,本质上是一个对象
  • 二维数组
  • 对象数组
  1. //类数组
  2. user = {
  3. 0: 5,
  4. 1: 'admin',
  5. 2: 'admin@qq.com',
  6. length: 3,
  7. age:18,
  8. }
  9. console.log(user[2], user.length)
  10. //多维数组
  11. arr=[
  12. [1,'苹果',10],
  13. [2,'梨',20],
  14. [3,'榴莲',50],
  15. ]
  16. //访问
  17. console.table(arr);
  18. console.log(typeof arr);
  19. console.log(Array.isArray(arr));
  20. console.log(arr[1]);
  21. console.log(arr[1][0]);
  22. //对象数组
  23. arr=[
  24. {id:1,'fruit':苹果','price':10},
  25. {id:2,'fruit':'梨','price':20},
  26. {id:3,'fruit':'榴莲','price':50},
  27. ]
  28. //访问
  29. console.table(arr[1].id);
  30. console.log(arr[2]["fruit"]);
  31. console.log(arr[2].fruit);

作用域

  • 代码块域:仅作用于代码块中,代码块外部无法访问:{代码块}
  • 函数作用域:在函数内部查找,函数内部的元素>函数外部的元素
  • 全局作用域
  • 函数作用链,由内而外,不可逆!
    注意:var 不支持作用域,会导致变量泄露
    1. //函数作用域
    2. let a=100;
    3. function abc(){
    4. let a=10,
    5. // 在函数内部也有一个变量a
    6. // 内部声明的叫私有成员
    7. console.log(a);
    8. }
    9. //函数作用链,由内而外,不可逆!
    10. console.log(abc);

    对象简化

  1. 属性简写: 属性名与变量同名,则只写属性即可
  2. 方法简写: 删除: function
  3. 模块字面量简写
    1. let uname = "朱老师";
    2. let age = 18;
    3. teacher = {
    4. id: 1,
    5. **//这里的属性uname的值调用外面变量uname的值,属性名与变量名同名的情况下,可以写一个属性名即可。**
    6. // uname: uname,
    7. uname,
    8. // age: age,
    9. age,
    10. /* work: function () {
    11. return `${uname} is a php teacher,${age}`;*/
    12. **//删除`:function`**
    13. work() {
    14. return `${uname} is a php teacher,${age}`;
    15. },
    16. };
    17. console.log(teacher.work());

流程控制

  1. 单分支: if(){}
  1. let a=10;
  2. //如果 变量a的值大于5,执行代码块里代码
  3. if(a>5){
  4. '代码块';
  5. }

2 . 双分支: if(){}else{}

  1. //如果 变量a大于等于8,执行代码块1,否则执行 代码块2;
  2. let a =10;
  3. if (a>= 8){
  4. '代码块1'
  5. }else{
  6. '代码块2'
  7. }

3 . 多分支: if(){}else if(){}else{}

  1. //如果变量a小于60,执行代码块1,如果不能满足,继续判断a大于等于60并且小于80,执行代码块2,否则执行代码块3
  2. let a = 85;
  3. if (a<60){
  4. '代码块1'
  5. }else if(a<=60 && a <80){
  6. '代码块2'
  7. }else {
  8. '代码块3'
  9. }

4 . 双分支语法糖: con ? true : false
也称三目运算符

  1. //如果 变量a大于等于8,执行代码块1,否则执行 代码块2;
  2. let a =10;
  3. /*if (a>= 8){
  4. '代码块1';
  5. }else{
  6. '代码块2';
  7. }
  8. */
  9. console.log(a>=8?'代码块1''代码块2');
  1. 多分支语法糖: switch(离散,区间),离散也称单值。区间称多值。
  1. //区间判断
  2. let a = 50;
  3. switch (true) {
  4. case a < 60:
  5. console.log("代码块1");
  6. break;
  7. case a >= 60 && a < 80:
  8. console.log("代码块2");
  9. break;
  10. case a > 80:
  11. console.log("代码块3");
  12. break;
  13. default:
  14. console.log("出错了!");
  15. }
  16. //单值判断
  17. switch (a) {
  18. case a === 60:
  19. console.log("代码块1");
  20. break;
  21. case a === 80:
  22. console.log("代码块2");
  23. break;
  24. case a === 100:
  25. console.log("代码块3");
  26. break;
  27. default:
  28. console.log("出错了!");
  29. }
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