1.引用数据类型之数组Array类

  • 1、每一个数组的外层由中括号进行包裹
  • 2、数组和对象一样都是由键值对组成,键值对的属性名是由浏览器自动生成的,从0开始依次递增,属性值就是你在数组里写的每一项(所以数组就是特殊的对象)
  • 3、数组的属性名可以代表每一个键值对的位置,所以说数组的属性名也叫作索引
  • 4、每一个数组天生自带一个属性length,他代表当前数组的长度,(个数)
  • 5、给数组末尾增加一项 ary[ary.length] = xxx
  • 6、获取数组第一项 ary[0]
  • 7、获取数组最后一项 ary[ary.length-1]
  • 8、删除数组最后一项 ary.length = ary.length-1
  • 9、清空数组 ary.length = 0 ```javascript // let ary = [12,false,true,2,null]

    1. // console.log(ary[2]);
    2. // ary[2] = 33
    3. // console.log(ary);
    4. // console.log(ary.length); // 3
  1. // 给数组末尾新增一项
  2. // ary[3] = 1
  3. // ary[ary.length] = 1 // 可以给任意一个数组增加最后一项
  4. // 获取数组第一项和最后一项
  5. // ary[0]
  6. // ary[ary.length-1]
  7. // let ss = [true,]
  8. // let ss = [true,false,null];
  9. // ss[3] = 1;
  10. // ss[ss.length] = 1;
  11. let ary = [true,false,null];
  12. // ary[0] // 获取数组开头一项
  13. // ary[ary.length-1] //获取数组最后一项
  14. // ary[3] = xxx;
  15. // ary[ary.length] = xxx;
  16. // let w = [300,500,600];
  17. ary.length = 2;
  18. ary.length = ary.length-1
  19. console.log(ary);
  1. <a name="hgoiG"></a>
  2. ## 2.基本数据类型Null和undefined
  3. - null和undefined都代表没有
  4. null:空指针对象,一般情况下都是代表意料之中的事(咱们一开始不知道他的值是多少,可以该他赋值为null,经过一系列操作之后,知道了他的值,在给他重新赋值)
  5. ```javascript
  6. let total = null;
  7. let a = 10;
  8. let b = 12;
  9. total = a + b;
  10. // 买了一辆汽车,新车时没有汽油的,单只咱们知道,买完车之后你回去加油的,当你加完油之后再给油箱重新赋值
  11. let carBox = null;
  12. carBox = full;

3.基本数据类型和引用数据类型的区别

QQ图片20200624151757.png

4.数据类型之间的数据比较

数据类型的比较
= 赋值:把等号右边的值赋值 给左边的变量
== 比较,左边和右边的比较,最后的返回值是一个布尔值(如果左右两边的值不是同一类型的,会进行数据类型的转换)

  1. / let a = 12;
  2. // let b = '12';
  3. // console.log(a == b); // true
  4. // 不同的数据类型进行比较,浏览器会进行隐式数据类型的转换
  5. // 数字 == 字符串:把等号左右两边全部转换成数字在比较
  6. // 数字 == 布尔:把等号左右两边全部转换成数字在比较
  7. // 字符串 == 布尔:把等号左右两边全部转换成数字在比较
  8. null == null // true
  9. undefined == undefined // true
  10. null == undefined // true
  11. // 除了以上三种情况null和undefined和谁都不相等
  12. NaN == NaN // false NaN和谁都不相等,包括自己
  13. console.log('1' == 1); // true
  14. console.log('1px' == 1);// false
  15. console.log(1 == true); // true
  16. console.log(0 == false); // true
  17. console.log('' == false); // true
  18. console.log('1' == true); // true
  19. console.log(null == 0); // false
  20. console.log(undefined == 1); // false
  21. /*
  22. 数据类型的比较
  23. = 赋值:把等号右边的值赋值 给左边的变量
  24. == 比较,左边和右边的比较,最后的返回值是一个布尔值(如果左右两边的值不是同一类型的,会进行数据类型的转换)
  25. !=:不等,会进行数据类型的转换
  26. ===:绝对比较,不会进行数据类型的转换
  27. !==:绝对不等,不会进行数据类型的转换
  28. */
  29. // let a = 12;
  30. // let b = '12';
  31. // console.log(a == b); // true
  32. // 不同的数据类型进行比较,浏览器会进行隐式数据类型的转换
  33. // 数字 == 字符串:把等号左右两边全部转换成数字在比较
  34. // 数字 == 布尔:把等号左右两边全部转换成数字在比较
  35. // 字符串 == 布尔:把等号左右两边全部转换成数字在比较
  36. // 对象 == 数字:把等号左右两边全部转换成数字在比较
  37. // 对象 == 布尔:把等号左右两边全部转换成数字在比较
  38. null == null // true
  39. undefined == undefined // true
  40. null == undefined // true
  41. // 除了以上三种情况null和undefined和谁都不相等
  42. NaN == NaN // false NaN和谁都不相等,包括自己
  43. // 对象 == 对象:比较的是空间地址
  44. // 对象 == 字符串:把等号左右两边全部转成字符串在比较
  45. // 基本值存储的是值
  46. // 引用值存储的是空间地址
  47. // let ary = [1,2,3]; // aaafff000
  48. // let ary1 = [1,2,3]; // aaafff111
  49. // console.log(ary == ary1); // false
  50. // let obj = {} // af0
  51. // let s = obj; // af0
  52. // console.log(obj == s); // true
  53. console.log('1' == 1); // true
  54. console.log('1px' == 1);// false
  55. console.log(1 == true); // true
  56. console.log(0 == false); // true
  57. console.log('' == false); // true
  58. console.log('1' == true); // true
  59. console.log(null == 0); // false
  60. console.log(undefined == 1); // false
  61. console.log([] == 1); // false
  62. console.log({} == NaN); // false
  63. console.log({name:1} == true); // false
  64. console.log([] == false); // true
  65. console.log(5>3); // true
  66. console.log(true>3); // false
  67. console.log(true>=1);// true
  68. // 对象 == 字符串:把等号左右两边全部转成字符串在比较
  69. console.log({name:1} == '[object Object]'); // true
  70. //-------------------------------------------------------------
  71. console.log('1' === 1); // false
  72. // !=:不等,会进行数据类型的转换
  73. // !==:绝对不等,不会进行数据类型的转换
  74. console.log('1' != 3); // true
  75. console.log('1' !== 3);// true

5.JS中的逻辑判断语句

  1. if/else else if else
  2. */
  3. // let num = 1;
  4. // if(num == 9){
  5. // // 如果小括号里的东西转布尔是true,那就是是成立,然后就走大括号里的代码
  6. // //
  7. // console.log('条件成立了');
  8. // }
  9. // else if(num == 1){
  10. // console.log(6666);
  11. // }
  12. // else {
  13. // // 如果上边的条件不成立,那就走else的代码
  14. // console.log('条件不成立');
  15. // }
  16. // 上边的条件只会走一个
  17. // else if可以不写,也可以写多个
  18. // else也可以不写,但是if必须写
  19. // let num = 1;
  20. // if(num<3){
  21. // console.log(1);
  22. // // 小括号里会转布尔
  23. // }
  24. // else {
  25. // console.log(3);
  26. // }
  27. // if可以嵌套
  28. // let num = 9
  29. // if(num == 9){
  30. // if(num<1){
  31. // console.log('haha');
  32. // }
  33. // }
  34. // else {
  35. // console.log(333);
  36. // }
  37. // let num = 10;
  38. // if(num>5){
  39. // if(num ==='10'){
  40. // console.log('恭喜');
  41. // }
  42. // else {
  43. // }
  44. // }
  45. // else {
  46. // console.log('卡瓦迪卡');
  47. // }
  48. //-----------------------------
  49. // js中的循环:不断重复的做某件事
  50. // let ary = [100,200,300];
  51. // console.log(ary[0]);
  52. // console.log(ary[1]);
  53. // console.log(ary[2]);
  54. // for循环:
  55. // 1、创建循环的初始值
  56. // 2、创建/判断循环的条件是否成立
  57. // 3、条件如果成立,就执行循环体的代码
  58. // 4、进行步长累计
  59. // 2-->3-->4-->2-->3-->4-->2-->3-->4-->2
  60. // for(var i =0;i<3;i++){ // 在之前的基础上加1
  61. // // 大括号就是循环体
  62. // // console.log(1); // 第一次 第二次 第三次
  63. // console.log(i); //0 1 2
  64. // // for循环执行不完,代码是不会往下走的
  65. // }
  66. // console.log(i); // 3
  67. // let a = 1;
  68. // a++; // a = a+1 累加1
  69. // a++
  70. // console.log(a); // 2
  71. let ary = [100, 200, 300];
  72. // 我想输出数组的每一项
  73. // console.log(ary[0]);
  74. // console.log(ary[1]);
  75. // console.log(ary[2]);
  76. for (var i = 0; i < ary.length; i++) {
  77. // console.log(i); // 0 1 2
  78. console.log(ary[i]);// 100 200 300 // 输出数组的每一项
  79. }
  80. // continue break
  81. // continue:结束当前轮循环,进行下一轮循环
  82. // break:结束整个for循环
  83. // for(var i = 0;i<3;i++){
  84. // if(i === 1){
  85. // continue;
  86. // }
  87. // console.log(i); // 0 2
  88. // }
  89. // for (var i = 0; i < 3; i++) {
  90. // if (i === 1) {
  91. // break;
  92. // }
  93. // console.log(i); // 0
  94. // }
  95. // console.log(i); // 1
  96. // var a = 12;
  97. // // a+=3; // 在原来基础之上累加3 a = a+3
  98. // console.log(a); // 15
  99. for (var i = 0; i < 7; i++) {// 1 2 3 4 5 6 7 8
  100. if (i >= 2) {
  101. i += 1
  102. continue;
  103. }
  104. if (i > 6) {
  105. break;
  106. }
  107. console.log(i); // 0 1
  108. }
  109. console.log(i); // 8