博客列表 >JS的数据类型和常用方法(0811)

JS的数据类型和常用方法(0811)

丶久而旧之丶
丶久而旧之丶原创
2020年09月16日 00:37:26613浏览

JS的数据类型和常用方法

数据类型

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. // 数据类型
  11. // 1.原始类型
  12. // 数值类型(number)
  13. var age = 18;
  14. // 字符串类型(string)
  15. var name = 'admin';
  16. // 布尔类型(bool)
  17. var flag = true;
  18. // 类型查看(typeof)
  19. console.log(typeof age, typeof name, typeof flag);
  20. // 2.特殊类型
  21. // 空对象(null)
  22. var title = null;
  23. // 未定义(undefined)
  24. var role = undefined;
  25. // null和undefined值相等但类型不同
  26. console.log(typeof title, typeof role);
  27. // 3.对象(object array function)
  28. // 数组
  29. var fruits = ['西瓜', '苹果', '梨', '樱桃', '水蜜桃'];
  30. // 查看是否是数组
  31. console.log(Array.isArray(fruits))
  32. // 遍历数组
  33. for (i = 0; i < fruits.length; i++) {
  34. console.log(fruits[i]);
  35. }
  36. fruits.forEach(function (value, key) {
  37. console.log('key:' + key + ',' + 'value:' + value);
  38. })
  39. // 获取数组部分元素
  40. console.log(fruits.slice(0, 2));
  41. // 删除,插入,新增元素
  42. console.log(fruits.splice(3, 2));//返回删除的元素
  43. // 新增
  44. console.log(fruits.splice(2, 0, '芒果', '哈密瓜'))
  45. console.log(fruits);
  46. // 替换
  47. console.log(fruits.splice(0, 2, '杨桃', '火龙果'));
  48. console.log(fruits);
  49. // 对象
  50. // 对象字面量
  51. var obj = {
  52. id: 1,
  53. name: 'admin',
  54. arr: [10, 20, 30],
  55. "my obj": {
  56. html: 70,
  57. css: 80,
  58. php: 90,
  59. },
  60. };
  61. console.log(obj);
  62. // 访问对象成员
  63. console.log(obj.name);
  64. console.log(obj.arr[1]);
  65. console.log(obj["my obj"].php);
  66. // 遍历对象
  67. for (key in obj) {
  68. console.log(obj[key]);
  69. }
  70. // 也可以获取键值数组用forEach遍历对象
  71. var arr = Object.keys(obj);
  72. arr.forEach(function (item) {
  73. console.log(this[item]);
  74. }, obj);
  75. // 函数
  76. // 1.命名函数
  77. function f1(a, b) {
  78. console.log(a + b);
  79. }
  80. f1(10, 20);
  81. // 2.匿名函数
  82. var f2 = function (a, b) {
  83. console.log(a + b);
  84. }
  85. f2(30, 40);
  86. // 3.立即执行函数(可以避免污染全局)
  87. (function (a, b) {
  88. console.log(a + b);
  89. })(50, 60);
  90. </script>
  91. </body>
  92. </html>

流程控制

  1. // 流程控制
  2. // 单分支
  3. var age = 18;
  4. if (age <= 22) {
  5. console.log('人生才刚刚开始呢');
  6. }
  7. // 双分支
  8. age = 30;
  9. if (age <= 22) {
  10. console.log('人生才刚刚开始');
  11. } else {
  12. console.log('好好感受人生的精彩吧');
  13. }
  14. // 多分支
  15. age = 60;
  16. if (age <= 22) {
  17. console.log('人生才刚刚开始');
  18. } else if (age > 22 && age <= 50) {
  19. console.log('好好感受人生的精彩吧');
  20. } else {
  21. console.log(age + '岁了人生也就这样了');
  22. }
  23. age = 800;
  24. // switch流程控制(如果case的条件是范围的话,那么switch的条件最好是true,保证进入流程控制中)
  25. switch (true) {
  26. case (age <= 20):
  27. console.log('人生才刚刚开始');
  28. break;
  29. case (age > 22 && age <= 50):
  30. console.log('好好感受人生的精彩吧');
  31. break;
  32. case (age > 50 && age <= 70):
  33. console.log('儿孙满堂的幸福啊');
  34. break;
  35. default:
  36. console.log(age + '岁了有此一生我也满足了');
  37. }

循环

  1. // 循环
  2. // 获取li
  3. var lis = document.querySelectorAll('ul:first-of-type>li');
  4. // for循环
  5. for (var i = 0; i < lis.length; i++) {
  6. lis[i].style.backgroundColor = 'lightgreen';
  7. }
  8. // while循环
  9. var lis1 = document.querySelectorAll('ul:last-of-type>li');
  10. var i = 0;
  11. while (i < lis1.length) {
  12. lis1[i].style.backgroundColor = 'lightblue';
  13. i++;
  14. }

JSON

  1. // JSON
  2. // JSON中只有三种类型(简单值,对象,数组)
  3. // 简单值类型(数值,字符串,布尔值,空值,----注意不支持undefined)
  4. var obj = {
  5. name: "admin",
  6. age: 20,
  7. marriage: false,
  8. course: {
  9. name: "php",
  10. grade: 90,
  11. },
  12. getName: function () {
  13. return this.name;
  14. },
  15. hobby: undefined,
  16. toString: function () {
  17. return "继承属性";
  18. },
  19. };
  20. // 将js对象转为JSON格式字符串
  21. var jsonStr = JSON.stringify(obj);
  22. console.log(jsonStr);
  23. // 也可传入第二个参数对结果进行静态过滤
  24. var jsonStr1 = JSON.stringify(obj, ["name", "age", "marriage"]);
  25. console.log(jsonStr1);
  26. // 也可以通过回调进行动态过滤
  27. var jsonStr2 = JSON.stringify(obj, function (k, v) {
  28. switch (k) {
  29. case 'age':
  30. return '年龄保密';
  31. // 可通过返回undefined进行过滤相关成员
  32. case 'marriage':
  33. return undefined;
  34. default:
  35. return v;
  36. }
  37. });
  38. console.log(jsonStr2);

总结

1.了解了js的数据类型,循环和流程控制
2.对json字符串有了初步的了解

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议