博主信息
博文 48
粉丝 0
评论 0
访问量 45786
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
JS的数据类型和常用方法(0811)
丶久而旧之丶
原创
821人浏览过

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字符串有了初步的了解

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:json与js完全不是一回事, 多留意
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学