数组函数进行练习

  1. <script>
  2. //1.栈方法
  3. let arr=[];
  4. //尾部添加
  5. console.log(arr.push(1,2,3));
  6. //出栈,从尾部一个一个进行弹出
  7. console.log(arr.pop());
  8. console.log(arr.pop());
  9. console.log(arr.pop());
  10. //最后返回空数组
  11. console.log(arr);
  12. //在头部添加删除
  13. console.log(arr.unshift(1,2,3));
  14. console.log(arr.shift());
  15. console.log(arr.shift());
  16. console.log(arr.shift());
  17. //返回空数组
  18. console.log(arr);
  19. //模拟队列,从尾部添加,从头部进去
  20. console.log(arr.push(1,2,3));
  21. console.log(arr.shift());
  22. console.log(arr.shift());
  23. consolt.log(arr.shift());
  24. //模拟队列,从头部添加,从尾部出去
  25. console.log(arr.unshift(1,2,3));
  26. console.log(arr.pop());
  27. console.log(arr.pop());
  28. console.log(arr.pop());
  29. //2.将数组转为字符串
  30. arr=["电脑","手机","相机"];
  31. //用括号里面的东西进行链接
  32. let res=arr.join("--");
  33. console.log(res);
  34. //字符串可以当数组
  35. let sss=hello;
  36. console.log(sss[0],sss[1],sss[2],sss[3],sss[4]);
  37. //3.数组合并
  38. console.log([1,2,3]).concat(123,"php",true,{x:1,y:2});
  39. //4.创建副本数组
  40. arr=[1,2,3,4];
  41. res=arr.slice(0);
  42. //替换res中的值不会影响到arr中的值
  43. res[1]=888;
  44. console.log(arr);
  45. console.log(res);
  46. //5.splice(:数组的增删)
  47. arr=[1,2,3];
  48. res=arr.splice(2,0,55,66);
  49. console.log(res);
  50. //6.排序
  51. arr=["c","q","a"];
  52. arr.sort();
  53. consolt.log(arr);
  54. arr=["7","1","2","6"];
  55. arr.sort((a,b)=>a-b);
  56. //7.遍历
  57. arr=[1,2,3,4];
  58. res=arr.map((item)=>item*2);
  59. console.log(res);
  60. //8.过滤不想要的数组
  61. arr=[1,2,3,4,5];
  62. //数组不能被2整除的数
  63. res=arr.filter((item)=>item%2);
  64. res=arr.filter((item)=>!(item%2));
  65. //9.归内
  66. arr=[1,2,3,4,5];
  67. res=arr.reduce((a,b)=>{
  68. console.log(a,b)
  69. return a+b;
  70. });
  71. //简写
  72. res=arr.reduce((a,b)=>a+b);
  73. //可以设置从几开始加
  74. res=arr.reduce((a,b)=>a+b,50);
  75. </script>

JSON的stringify(),parse()

  1. <script>
  2. //stringify(),将js转为json,转化后格式都是字符串
  3. //字符串类型
  4. console.log(JSON.stringify(3.14),typeof JSON.stringify(3.14));
  5. //里面的字符串一定要加引号,不加会出错
  6. console.log(JSON.stringify("3.14"));
  7. //true不用加
  8. console.log(JSON.stringify(true));
  9. //复合类型
  10. //对象的属性必须加引号,转化后是字符串
  11. console.log(JSON.stringify({x:"a",t:"b"}));
  12. //数组转化后也是字符串
  13. console.log(JSON.stringify([1,2,3]));
  14. //第二个参数
  15. //定义显示对象
  16. console.log(JSON.stringify({a:1,b:2,c:3,[a,b]}));
  17. //函数
  18. console.log(
  19. JSON.stringify({a:1,b:2,c:3}(e,v)=>{
  20. if(v<2)return undefined;
  21. return v;
  22. })
  23. );
  24. //第三个参数,定义输出前面的字符
  25. //下面的2代表加俩空格
  26. console.log(JSON.stringify({a:1,b:2},null,2));
  27. console.log(JSON.stringify(a:1.b:2},null,"-----"));
  28. 2.JSON.parse(讲json转为js对象)
  29. let obg=JSON.parse('{a:1,b:2}');
  30. console.log(obg);
  31. //第二个参数可以让内容处理后在返回
  32. obg=JSON.parse('{a:1,b:2}',(k,y)=>{
  33. if(k==="")return y;
  34. return y*2;
  35. });
  36. console.log(obg);
  37. </script>

ajax的ger/post请求

1.ajax的ger请求,用于从后台调用数据到前提

  1. <body>
  2. <button> ajax-get请求</button>
  3. <p></p>
  4. <script>
  5. congst bth=documnt.querySelector("button");
  6. btn.onclick=()=>{
  7. //1.创建一个对象
  8. const xhr=new XMLHttpRequest();
  9. //2.配置对象参数,第一个参数是传递的类型,第二个请求是脚本地址
  10. xht.open("get","text1.php");
  11. //3.出来对象相应的返回的结果;’
  12. //成功就用onload加载出来
  13. xhr.onload=()=>{
  14. console.log(xhr.response);
  15. let user=`${xhr.response.name}(${xhr.response.email})`;
  16. document.querySelectio("P").innerHTML=user;
  17. };
  18. //失败
  19. xhr.onerror=()=>console.log("失败");
  20. //4.发送以上对象的请求,默认值是null,可以不写
  21. xhr.send(null);
  22. }
  23. </script>
  24. </body>

2。Ajax-post请求,用于表单验证,后台表单数据调用

  1. <body>
  2. <div>
  3. <h3>用户登录</h3>
  4. <form action="" method="POST">
  5. <label for="email">邮箱</label>
  6. <input type="email" name="email" id="email">
  7. <label for="password">密码</label>
  8. <input type="password" name="password" id="password" />
  9. <button>提交</button>
  10. <!-- //空的提升信息 -->
  11. <span class="tips"></span>
  12. </form>
  13. </div>
  14. <script>
  15. const form=document.querySelector("div>form");
  16. const bth=document.querySelector("div>form> button");
  17. const tips = document.querySelector("div>form>span");
  18. //四步曲
  19. bth.onclick=(ev)=>{
  20. //清除其默认行为,添加上post
  21. ev.perventDefault();
  22. //1.创建对象
  23. const xhr=new XMLHttpRequest();
  24. //2.配置对象参数
  25. xhr.open("post","test2.php");
  26. }
  27. //3.处理对象相应
  28. xhr.onload=()=>(tips.innerHTML=xhr.respnse);
  29. //4.发送对象请求
  30. // 传数据类型,FormData是表单数据构造器,把当前数据通过对象的方式给做出来
  31. //会把表单的请求给数列化
  32. //直接括号通过表单拿到里面的所有数据
  33. xhr.send(new FormData(form));
  34. </script>
  35. </body>

cors跨域

跨域的文件里面得加上
header(‘Access-Control-Allow-Origin: http://hello.io‘)
其中后面的地址部分可以换成*来代表允许任何来源跨域请求
1.ajax-get下的cors跨域

  1. <body>
  2. <button>按钮</button>
  3. <p></p>
  4. <script>
  5. const bth=document.querySelector("button");
  6. bth.onclic=(ev)=>{
  7. //1.创建对象
  8. const xhr=new XMLHttpRequest();
  9. //2.配置参数对象,因为是跨域请求,所以第二个参数改成跨的地址
  10. xhr.open("get","http://worid.io/cors1.php");
  11. xhr.onload=()=>(document.querySelector("p").innerHTML = xhr.response);
  12. xhr.send(null);
  13. }
  14. </script>
  15. </body>

2.ajax-post下的cors跨域

  1. <body>
  2. <button>aiax-post-cors</button>
  3. <p class="tips"></p>
  4. <script>
  5. const bth = document.querySelector("button");
  6. const tips = document.querySelector(".tips");
  7. bth.onclick = (ev) => {
  8. const xhr = new XMLHttpRequest();
  9. //因为是跨域,所第二个参数提前文件的位置得用网站
  10. xhr.open("post", "http://worid.io/cors2.php");
  11. xhr.onload = () => (tips.innerHTML = xhr.response);
  12. //没表单,弄点加数据
  13. let formData = new FormData();
  14. formData.append("email", "a@qq.com");
  15. formData.append("password", "123456");
  16. xhr.send(formData);
  17. };
  18. </script>
  19. </body>

3.jsonp-cors:在不允许的情况下来请求跨域文件的内容,通过script,a,img标签上的链接来绕着请求到,这中请求只能完成get请求,表单下不能用

  1. <body>
  2. <button>按钮</button>
  3. <p></p>
  4. <script>
  5. function getUser(data){
  6. console.log(data);
  7. let user=data.name+":"+data.email;
  8. document.querySelector("P").innerHTML=user;
  9. }
  10. //以上函数的调用后台getUser到p标签中
  11. const btn=document.querySelector("button");
  12. btn.onclick=()=>{
  13. //1.先动态生成一个允许跨域请求的HTML元素
  14. let script=document.createElement("script");
  15. //将跨域的URL地址写上,后面跟上我现在用的地址名称(随便写),后面写上弄好的函数名
  16. script.src="http://worid.io/cors3.php?callback=getUser";
  17. //3.将script挂在到页面中,查到前面去,不然容易出错
  18. //insertBefore插入到第一个去
  19. document.body.insertBefore(script, document.body.firstElementChild);
  20. }
  21. </script>
  22. </body>

更多相关文章

  1. 数据结构与算法专题——第六题 树状数组
  2. 数据结构与算法专题——第一题 Bitmap算法
  3. PHP实现大文件断点下载
  4. 结构体作业讲解(零基础学习C语言)
  5. Python数据分析常用库有哪些?Python学习!
  6. 0129-数组的排序, 数组的合并, 数组成员的统计
  7. 第5章 0129-细说常用的数组函数,学习心得、笔记(数组的排序, 数组
  8. php数据类型与检测
  9. 指针经典笔试题解析(C语言)

随机推荐

  1. 无法在JQuery中查找表单输入
  2. IE中使用jquery的Google geomap失败
  3. 动态更改angularjs中静态段落的颜色
  4. javascript的密封对象之seal(),isSealed(
  5. 对多维数组中的列进行排序
  6. 如何调用另一个函数内的函数?
  7. 如何在onchange()事件后调用的方法中将焦点
  8. 在角JS中Bootstrapping是什么意思?
  9. 动态左侧的GreenSock javascript动画
  10. 使用HTML或Javascript替换网页上的文本