Blogger Information
Blog 11
fans 0
comment 0
visits 7545
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
js数据类型,流程控制,JSON转换
老陈
Original
911 people have browsed it

1.数据类型

1.1原始类型:number ,string ,boolean
  1. //number类型
  2. var grade = 89;
  3. //string类型
  4. var username = 'admin';
  5. //boolean类型
  6. var flag = false;
1.2 特殊类型: null ,undefined 都有空/无的意义
  1. //undefined 表示非对象类型变量的空/无
  2. var role;//等同于var role = undefined;
  3. //null表示空对象
  4. var tirle = null ;
  5. //null 转为数值型时,它的值会自动转为0
  6. console.log( null +100 );//等同于console.log( 0 +100 );
  7. // undefined ->返回 NaN(Not a Number 不是数值)
  8. console.log( undefined +100 );
1.3对象类型:arrya(数组),Object(对象) ,function(函数)
  1. //1.数组
  2. var arr = ['赵云','关羽','张飞','马超','黄忠'];
  3. console.log(arr);
  4. // Array.isArray()判断是否是数组类型
  5. console.log(Array.isArray(arr));
  6. //遍历数组
  7. //方法一:
  8. for (var i = 0; i < arr.length; i++) {
  9. //console.log(arr[i]);
  10. }
  11. //方法二:
  12. // arr.forEach(function (元素,元素索引,当前数组));第一个参数是必须的,第二第三参数可选
  13. arr.forEach(function (itme ,index,arr){
  14. // console.log(itme);
  15. });
  16. //2.对象
  17. //js中的数组类似PHP中的索引数组,js中的对象类似于php中的关联数组
  18. var student = {
  19. id:1,
  20. name:"猪八戒",
  21. email:"zhubajie@qq.comm",
  22. "test shuxing":{
  23. like :"喜欢吃",
  24. wuqi:"九齿钉耙",
  25. },
  26. }
  27. //获取对象中的属性
  28. console.log(student.name);
  29. //对象中的属性也是一个对象应这样获取
  30. console.log(student["test shuxing"].wuqi);
  31. //遍历对象
  32. //方法一: for (对象的键名 in 对象) { 对象[键名]}
  33. for (key in student) {
  34. console.log(student[key]);
  35. }
  36. //方法二:借助数组的forEach()进行遍历
  37. //第一步获取键名数组,通过Object.keys()
  38. var keys = Object.keys(student);
  39. keys.forEach(function (a,b,c){
  40. console.log(this[a]);
  41. },student);
  42. //3.函数
  43. function fun1(a,b){
  44. console.log(a + "+" + b + "=" ,a+b);
  45. }
  46. fun1(58,64);
  47. //匿名函数
  48. var fun2 = function (a,b){
  49. console.log(a + "+" + b + "=" ,a+b);
  50. };
  51. fun2(50,80);
  52. //立即调用函数
  53. (function fun1(a,b){
  54. console.log(a + "+" + b + "=" ,a+b);
  55. }(50,60));

2.流程控制

  1. //分支
  2. //单分支
  3. var age = 45;
  4. // if(age > 50)console.log("年龄大了,想退休了");
  5. //双分支
  6. if (age > 50){
  7. // console.log("年龄大了,想退休了");
  8. }else{
  9. // console.log("年龄不够,不能退休");
  10. }
  11. //多分支
  12. if (age > 50 && age <60) {
  13. // console.log("可以提前申请退休");
  14. } else if(age >= 60 && age <65){
  15. // console.log("已到退休年龄,申请退休");
  16. }else{
  17. // console.log("年龄不够,不能申请退休");
  18. }
  19. switch (true) {
  20. case age > 50 && age <60:
  21. console.log("可以提前申请退休");
  22. break;
  23. case age >= 60 && age <65:
  24. console.log("已到退休年龄,申请退休");
  25. break;
  26. default:
  27. console.log("年龄不够,不能申请退休");
  28. break;
  29. }
  30. //循环
  31. var itmes = document.querySelectorAll("ul:first-of-type li");
  32. for (var i = 0; i < itmes.length; i++) {
  33. itmes[i].style.color="red";
  34. }
  35. // while
  36. var itmes = document.querySelectorAll("ul:last-of-type li");
  37. var i = 0;
  38. while (i < itmes.length) {
  39. itmes[i].style.color="blue";
  40. i++;
  41. }
  42. var i=10;
  43. var b=0;
  44. do
  45. {
  46. console.log("您前面还有"+ i +"人");
  47. i--;
  48. }
  49. while(i>b);

3.js转换JSON格式字符串

  1. //对象
  2. var person ={
  3. name:"猪八戒",
  4. age:40,
  5. isMarried:true,
  6. course:{
  7. name:"javaScript",
  8. grade:89,
  9. },
  10. getName:function(){
  11. return this.name;
  12. },
  13. hobby:undefined,
  14. toString:function(){
  15. return "继承属性";
  16. },
  17. };
  18. //通过JSON.stringify()将js对象序列化为json字符串
  19. // var jsonStr = JSON.stringify(person);
  20. //json字符串如下
  21. // {
  22. // "name": "猪八戒",
  23. // "age": 40,
  24. // "isMarried": true,
  25. // "course": {
  26. // "name": "javaScript",
  27. // "grade": 89
  28. // }
  29. // }
  30. // JSON.stringify()第二参数如果是数组,可以限制允许序列化的属性
  31. // var jsonStr = JSON.stringify(person,["name","age"]);
  32. //JSON.stringify() 第二参数不是数组,是函数
  33. var jsonStr = JSON.stringify(person,function(key,value){
  34. switch (key) {
  35. case "age":
  36. return ("年龄就不告诉你");
  37. case "isMarried":
  38. return "管你P事";
  39. // 必须要有default, 才可以输出其它未被处理的属性
  40. default:
  41. return value;
  42. }
  43. //参数三:可以按自己的需求来定制输出结果是怎样的格式
  44. },"---");

总结:js对象序列化为JSON格式的字符串后

1.布尔值、数字、字符串的包装对象在序列化过程中会自动转换成对应的原始值
2.undefined和任意的函数在序列化过程中会被忽略
3.JSON.stringify()函数是用来序列化对象的,无论输入什么,输出的都是字符串类型,可以按自己的需求来定制如何序列化,输出结果是怎样的格式
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:js非常灵活 , 比php还灵活 , 越是灵活的语言, 坑就越多, 一定要细心
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