Blogger Information
Blog 34
fans 0
comment 0
visits 20156
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数据类型及流程控制
OC的PHP大牛之路
Original
383 people have browsed it

数据类型

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. }
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