博客列表 >数据类型及流程控制

数据类型及流程控制

OC的PHP大牛之路
OC的PHP大牛之路原创
2022年07月21日 22:53:06374浏览

数据类型

1.原始类型:number(数值)、string(字符串)、boolean(布尔值)、undefined(变量默认值)、null(空)
特点:单值;动态(由值的类型决定)

  1. console.log(100);
  2. // 数值(1,2,3...)
  3. // 'typeof'操作符,用来判断数据类型!
  4. console.log(typeof 100);
  5. // 字符串(utf-8,utf-16...)
  6. console.log(typeof 'php');
  7. // 布尔值(只有两种false(假),true(真))
  8. console.log(typeof true);
  9. // 变量默认值
  10. let a;
  11. console.log(a);

2.引用类型:array(数组)、object(对象)、function(函数)
2.1数组:每个成员可以是原始类型,也可以是引用类型

  1. const arr=['电脑',2,5000]
  2. console.log(arr);
  3. // table表格输出
  4. console.table(arr);
  5. // 索引
  6. console.log(arr [0]);
  7. console.log(arr [1]);
  8. console.log(arr [2]);
  9. // length数组长度
  10. console.log(arr .length);

2.2对象

  1. // 常量
  2. const obj={
  3. name:'电脑',
  4. num:2,
  5. price:5000
  6. };
  7. console.log(obj ['name']);
  8. // 符合JS命名规范的的属性名可以用(.)来访问
  9. console.log(obj .name);

  1. // 变量,添加一个函数
  2. let obj={
  3. name:'电脑',
  4. num:2,
  5. price:5000,
  6. total:function(){
  7. // this当年对象的引用,和当前对象绑定
  8. return this.name+'总价:'+this.num*this.price+'元';
  9. },
  10. };
  11. console.log(obj .total());

  1. // 数组+对象
  2. let obj=[
  3. { name:'手机',num:2,print:5000},
  4. { name:'电脑',num:5,print:6000},
  5. { name:'相机',num:4,print:2000},
  6. ];
  7. console.log(obj);

2.3函数:函数即是数据类型也是对象
例:将函数当成数据类型的优点
1.当函数的参数:回调
2.当函数的返回值:闭包

流程控制

1.分支:有条件的执行某段代码

1.1单分支

  1. // 单分支
  2. let age=28;
  3. console.log(age>=18);
  4. if(age>=18){
  5. console.log('可以上网');
  6. }

1.2双分支

  1. // 双分支
  2. age=17;
  3. console.log(age>=18);
  4. if(age>=18){
  5. console.log('可以上网');
  6. }
  7. // else默认
  8. else{
  9. console.log('不可以上网');
  10. }
  11. // 双分支语法糖:三元操作(条件 ?true :false)
  12. let res=age>=18?'可以上网':'不可以上网'
  13. console.log(res);
  14. console.log(age>=18?'可以上网':'不可以上网');

1.3多分支

  1. // 多分支
  2. age=13;
  3. if(age>=18&&age<45){
  4. console.log('允许上网');
  5. }
  6. if(age>=45&&age<55){
  7. console.log('上网不超过8小时');
  8. }
  9. if(age>=55&&age<70){
  10. console.log('上网不超过2小时');
  11. }
  12. if(age>=70||age<14){
  13. console.log('年龄不允许');
  14. }
  15. else{
  16. console.log('不可以上网');
  17. }
  18. // 多分支语法糖:switch
  19. age=35;
  20. // 区间判断必须使用(true)作为switch入口判断条件
  21. switch(true){
  22. case age>=18&&age<45:
  23. console.log('允许上网');
  24. break;
  25. case age>=45&&age<55:
  26. console.log('上网不超过8小时');
  27. break;
  28. case age>=55&&age<70:
  29. console.log('上网不超过2小时');
  30. break;
  31. case age>=70||age<14:
  32. console.log('年龄不允许');
  33. break;
  34. default:console.log('不可以上网');
  35. }

案例:单值判断

  1. // 单值判断
  2. let language='js';
  3. // (toLocaleLowerCase())将全部的字母改为小写
  4. switch(language.toLocaleLowerCase()){
  5. case 'html':
  6. console.log('超文本标记语言');
  7. break;
  8. case 'css':
  9. console.log('层叠样式表');
  10. break;
  11. case 'js':
  12. // 两个(case)之间没有(break)会按顺序执行
  13. case 'javascript':
  14. console.log('前端通用脚本语言');
  15. break;
  16. default:console.log('未定义选项');
  17. }

2.循环

  1. const colors=['red','green','blue']
  2. console.log(colors);
  3. console.log(colors[0],colors[1],colors[2]);
  4. // 快速获取最后一个元素(长度-1)
  5. console.log(colors[colors.length-1]);

2.1数组遍历(while/for/for-of/for-in都可以使用)

  1. // 数组起始索引
  2. let i=0;
  3. // 遍历条件
  4. let length=colors.length;
  5. if(i<length){
  6. console.log(colors[i]);
  7. i++;
  8. }
  9. if(i<length){
  10. console.log(colors[i]);
  11. i++;
  12. }
  13. if(i<length){
  14. console.log(colors[i]);
  15. i++;
  16. }

循环简化

2.1.1while循环

  1. // 1.while循环
  2. i=0;
  3. // 入口判断
  4. while(i<length){
  5. console.log(colors[i]);
  6. i++;
  7. }
  8. // 出口判断
  9. do{
  10. console.log(colors[i]);
  11. i++;
  12. }
  13. while(i<length);

循环三要素:
1.索引初始化:0
2.循环条件:i<length
3.更新循环条件:i++

2.1.2for循环,while循环的语法糖/简化

  1. for(let i=0;i<length;i++){
  2. console.log(colors[i]);
  3. }

2.1.3ES6:for-of

  1. // 3.ES6:for-of
  2. // 只看值
  3. for(let item of colors.values()){
  4. console.log('values:'+item);
  5. }
  6. // 只看键/索引
  7. for(let item of colors.keys()){
  8. console.log('values:'+item);
  9. }
  10. // 键值都看
  11. for(let item of colors.entries()){
  12. console.log('key-values:'+item);
  13. }

2.2对象遍历(只能用for-in)

  1. const obj={
  2. a:1,
  3. b:2,
  4. f:function(){}
  5. };
  6. // 用for-in
  7. for(let key in obj){
  8. console.log(obj[key]);
  9. }
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议