博客列表 >js常用类型,流程控制,json相关使用-js-37课8.11

js常用类型,流程控制,json相关使用-js-37课8.11

希望
希望原创
2020年08月13日 19:26:20594浏览

1.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>数据类型与访问方式</title>
  7. </head>
  8. <body>
  9. <script>
  10. // 1.原始类型
  11. var grade = 20;
  12. var username = "melinda";
  13. var flag = false;
  14. // 类型检查用 typeof,会得到:number数值,string字符串,bool布尔
  15. console.log(typeof grade, typeof username, typeof flag);
  16. // 2.特殊类型
  17. // null是空对象,得到object
  18. var title = null;
  19. console.log(typeof title);
  20. // undefined未定义
  21. var role = undefined;
  22. console.log(typeof role);
  23. console.log(null === undefined);
  24. // 4.值相等,但类型不同,所以 === 返回false
  25. // 5. 返回数组,对象: object, array, function
  26. var fruits = ["watermelon", "apple", "orange", "peach", "pear"];
  27. console.log(fruits);
  28. var student = {
  29. id: 1,
  30. name: "melinda",
  31. email: "melinda@php.cn",
  32. course: [90, 88, 93],
  33. "my scroe": {
  34. php: 90,
  35. js: 60,
  36. css: 70,
  37. },
  38. };
  39. var keys = Object.keys(student);
  40. // 6.命名函数
  41. function f1(a, b) {
  42. console.log(a + b);
  43. }
  44. f1(1, 2);
  45. // 7.匿名函数
  46. var f2 = function (a, b) {
  47. console.log(a + b);
  48. };
  49. f2(100, 20);
  50. </script>
  51. </body>
  52. </html>

2.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>流程控制</title>
  7. </head>
  8. <body>
  9. <ul>
  10. <li>item1</li>
  11. <li>item2</li>
  12. <li>item3</li>
  13. </ul>
  14. <ul>
  15. <li>item1</li>
  16. <li>item2</li>
  17. <li>item3</li>
  18. </ul>
  19. <script>
  20. // 1. 分支:单分支
  21. var age = 59;
  22. age = 30;
  23. // 如果代码块中只有一条语句,可以省略"{...}"
  24. if (age >= 50) {
  25. console.log("退休");
  26. }
  27. // 双分支
  28. if (age >= 50) {
  29. console.log("回农村");
  30. } else {
  31. console.log("奋斗吧");
  32. }
  33. // 多分支
  34. age = 25;
  35. if (age > 18 && age < 30) {
  36. console.log("努力赚钱");
  37. } else if (age >= 30 && age < 50) {
  38. console.log("有家有孩子");
  39. } else if (age >= 50) {
  40. console.log("老有所依");
  41. }
  42. // 默认分支 else
  43. else {
  44. console.log("我才", age, ", 努力工作");
  45. }
  46. // switch简化
  47. switch (true) {
  48. case age > 18 && age < 30:
  49. console.log("奋斗");
  50. break;
  51. case age >= 30 && age < 50:
  52. console.log("有房有车");
  53. break;
  54. case age >= 50:
  55. console.log("白头到老");
  56. break;
  57. default:
  58. console.log("我才", age, ", 努力工作");
  59. }
  60. // 循环
  61. var lis = document.querySelectorAll("ul:first-of-type li");
  62. // for
  63. for (var i = 0; i < lis.length; i++) {
  64. lis[i].style.backgroundColor = "lightgreen";
  65. }
  66. // while
  67. var lis = document.querySelectorAll("ul:last-of-type li");
  68. var i = 0;
  69. while (i < lis.length) {
  70. lis[i].style.backgroundColor = "yellow";
  71. i++;
  72. }
  73. </script>
  74. </body>
  75. </html>

3.js对象序列化,json格式的字符串

  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>js对象序列化,json格式的字符串</title>
  7. </head>
  8. <body>
  9. <script>
  10. // ## 1. JSON 是什么
  11. // - JSON: JavaScript Object Notation(JS 对象表示法)
  12. // - JSON: 2006 年成为国际标准,并成为表示结构化数据的通用的格式
  13. // - JSON 借用了**JS 对象字面量**的语法规则,但并非 JS 对象,也并非只是 JS 才用 JSON
  14. // - JSON 独立于任何编程语言, 几乎所有编程语言都提供了访问 JSON 数据的 API 接口
  15. // - 尽管 JSON 与 JS 并无直接关系,但 JSON 在 JS 代码中应用最广泛
  16. // ## 2. JSON 语法
  17. // JOSN 支持三种数据类型: 简单值, 对象, 数组
  18. // ### 2.1 简单值
  19. // - 数值: `150`, `3.24`
  20. // - 字符串: `"Hello World!"`,必须使用**双引号**做为定界符
  21. // - 布尔值: `true`, `false`
  22. // - 空值: `null`
  23. // > 注意: 不支持`undefined`
  24. var person = {
  25. name: "melinda",
  26. age: 25,
  27. isMarried: true,
  28. course: {
  29. name: "JavaScript",
  30. grade: 99,
  31. },
  32. getName: function () {
  33. return this.name;
  34. },
  35. hobby: undefined,
  36. toString: function () {
  37. return "继承属性";
  38. },
  39. };
  40. // 将js对象转为json格式的字符串
  41. var jsonStr = JSON.stringify(person);
  42. // 传入第二参数数组,对输出的结果进行限制
  43. jsonStr = JSON.stringify(person, ["name", "age"]);
  44. // 如果第二个参数是一个回调,可以进行动态过滤,传键和值
  45. jsonStr = JSON.stringify(person, function (key, value) {
  46. switch (key) {
  47. case "age":
  48. return "保密";
  49. case "isMarried":
  50. return undefined;
  51. // 必须要有default, 才可以输出其它未处理的属性
  52. default:
  53. return value;
  54. }
  55. });
  56. // json中没有方法, undefined也没有
  57. console.log(jsonStr);
  58. </script>
  59. </body>
  60. </html>
  • 总结:
  • JOSN支持三种数据类型: 简单值, 对象, 数组
  • 数值,整数或分数:10, 10.1
  • 字符串"Hello World!",必须使用双引号做为定界符
  • 布尔值: true, false
  • 空值: null
  • 注意: 不支持undefined
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议