物流网站建设方案范文,比较好的网页设计网站,二级网站建设标准,购物网站搜索功能怎么做1 -函数作用域问题-:
函数的外层作用域#xff0c;在函数创建时就已确定#xff0c;和函数的调用位置无关
var name 嘿嘿;// 函数的外层作用域#xff0c;在函数创建时就已确定#xff0c;和函数的调用位置无关// JS中的作用域被称为 词法作用域function fn() {console.…1 -函数作用域问题-:
函数的外层作用域在函数创建时就已确定和函数的调用位置无关
var name 嘿嘿;// 函数的外层作用域在函数创建时就已确定和函数的调用位置无关// JS中的作用域被称为 词法作用域function fn() {console.log(name);}function fn2() {var name 哈哈;fn();}fn2();//调用后-输出-嘿嘿
2 数组的其中几种方法1:
var arr [孙悟空, 猪八戒, 沙和尚, 唐僧];// console.log(arr[arr.length - 1]);// Array.isArray() 用来检查一个对象是否是一个数组// console.log(Array.isArray(arr));// console.log(Array.isArray(1));/*//---会影响到原数组的方法:pop()删除并返回数组的最后一个元素。push()在数组的末尾增加一个或多个元素并返回数组的新长度。arr[arr.length] xxx;shift()删除并返回数组的第一个元素。unshift()在数组的开头增加一个或多个元素并返回数组的新长度。*/arr [孙悟空, 猪八戒, 沙和尚, 唐僧];var result arr.pop();//删除数组中的最后一个元素result arr.push(白骨精,玉兔精);result arr.shift();result arr.shift();result arr.unshift(铁扇公主,女儿国王);// result arr.unshift(女儿国王);console.log(result , result);console.log(arr); 3:数组的方法2:
//---不会影响原数组的方法:var arr [孙悟空, 猪八戒, 沙和尚, 唐僧];var arr2 [牛魔王,红孩儿,铁扇];var arr3 [二郎神, 白龙马];/*concat()- 用来将多个数组连接为一个数组- 该方法不会影响到原数组而是将结果存储到一个新数组中返回join()- 将数组中的所有元素连接为一个字符串- 需要一个字符串作为参数这个字符串会作为元素的连接符- 如果不知道参数默认使用,作为连接符indexOf()lastIndexOf()- 查询元素在数组中第一次出现的位置- 参数第一个要查询的元素第二个查询的起始位置- 返回值如果找到了元素则返回元素第一次出现的索引如果没有找到元素则返回-1- lastIndexOf()它会从最后一个元素向前找*/var result arr.concat(arr2, arr3, 哈哈);arr [a,b,c,d];result arr.join();//a,b,c,darr [a,c,b,d,e,f,a,a];result arr.indexOf(g, 1);result arr.lastIndexOf(a);console.log(result);
4 :数组的方法3:
/*slice(起始位置, 结束位置)- 抽取当前数组中的一段元素组合成一个新数组。- 该方法不会影响到原来的数组而是返回一个新数组- 参数第一个参数截取的开始位置包括开始位置第二个参数截取的结束位置不包括结束位置- 如果省略第二个参数则会一直截取最后- 如果索引是负数则表示倒数第几个*/var arr [孙悟空, 猪八戒, 沙和尚, 唐僧];var result arr.splice(1,3);result arr.slice(-4,-1);// console.log(result);/*splice()在任意的位置给数组添加或删除任意个元素。- 该方法是一个破坏性的方法调用会会影响到原来的数组- 参数第一个参数表示删除的起始位置第二个参数表示删除元素的个数第三个参数表示要添加的新元素- 返回值被删除的元素- 功能- 删除并返回指定元素arr.splice(开始索引, 删除数量);- 替换元素arr.splice(开始索引, 删除数量, 新元素, 新元素);- 在指定位置插入新元素arr.splice(插入位置, 0, 新元素, 新元素)*/arr [孙悟空, 猪八戒, 沙和尚, 唐僧];result arr.splice(1,0,牛魔王, 红孩儿);console.log(result)console.log(arr);
5 数组遍历方法4:
forEach() 也是用来遍历数组的一个方法只适用于数组
- 需要一个回到函数作为参数
- 回调函数会执行多次数组里有几个元素就会执行几次
每次调用时都会将一个元素的信息已参数的形式传递进函数
可以通过定义参数来获取信息
- 回调函数中一共会接收到三个参数
第一个参数当前元素的值
第二个参数当前元素的索引
第三个参数被遍历的数组 var arr [孙悟空, 猪八戒, 沙和尚, 唐僧];// arr.forEach(function (value, index, arr) {// console.log(value, index, arr);// });arr.forEach(((value, index, array) console.log(value)));
6:数组去重的2种方法:
多种方式-》
1.遍历删除重复元素
2.遍历添加不重复的元素生成新数组
3.用 ES6的set 方法去重
var nums [1,2,2,3,4,5,5,5,4,5,6];//获取到数组中的每一个数for(var i0; inums.length; i){//nums[i] 表示当前取出的数字//要将该数字和其他数字进行比较//获取到当前数字后的所有数字for(var ji1; jnums.length; j){//nums[i] nums[j]// 比较两个数是否相等if(nums[i] nums[j]){//两个数字相等说明有重复的情况出现删除重复数字nums.splice(j, 1); // j去除新数组中的重复内容,从一开始往后的所有.//删除元素后其后的元素会自动向前补位这样将会导致少比较一个元素//需要将当前的位置在比较一遍j--;}}}console.log(nums);nums [1,2,2,3,4,5,5,5,4,5,6];//先创建一个新数组var newNums [];//遍历老数组for(var i0; inums.length; i){//判断新数组中是否存在该元素if(newNums.indexOf(nums[i]) -1){// 如果新数组中没有该值则将其添加到新数组中newNums.push(nums[i]);}}console.log(newNums);
7引用函数和接收函数返回值的区别:
function fn(callback) {//调用函数callback();// console.log(callback);}function test() {console.log(test执行了~~~);}// test 表示函数对象以test作为参数时是将函数对象作为参数传递fn(test);test() // 表示调用函数函数执行后会有返回值test()相当于将函数的返回值作为参数传递fn(test());8 数组方法5:
/* every()- 用来检查数组中的每个元素是否符合某个条件如果所有的元素都符合条件它会返回true否则返回false- 它需要一个回调函数作为参数回调函数需要返回一个布尔值如果返回true则表示元素满足条件如果返回false则表示元素不满足条件some()- 用来检查数组中是否有元素符合某个条件*/var arr [3,4,5,6,7,8];var result arr.every(function (ele) {return ele 6;})result arr.every(ele ele6);result arr.some(ele ele6);// console.log(result);/*filter()- 用来获取数组中所有的符合条件的元素*/result arr.filter(a a ! null a%20);/*map()- 用来对数组中的每一个元素做一个操作返回一个新数组*/arr [3,4,5,6,7,8];var result arr.map(function (a) {if(a % 20){return a ** 2;}else{return a;}});/*reduce()- 将数组中的所有元素汇总为一个值- 需要回调函数作为参数参数有两个第一个参数表示累加器第二个参数表示当前元素*/arr [3,4,5,6,7,8];result arr.reduce(function (a, b) {return a b;});console.log(result);//----------// find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。//在数组每一项上执行的函数接收 3 个参数//element当前遍历到的元素。//index可选当前遍历到的索引。//array可选数组本身。// findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。// const array1 [5, 12, 8, 130, 44];const isLargeNumber (element) element 13;console.log(array1.findIndex(isLargeNumber));
针对数组中的每个元素, 都会执行该回调函数, 执行时会自动传入下面三个参数:element当前元素。index当前元素的索引。array调用findIndex的数组。
9数组方法6:
/*reverse()用来对数组进行反转操作- 该方法会影响到原来数组*/var arr [1,2,3,4,5,6,7];arr.reverse();/*sort() 用来对数组进行排序- sort()在排序时默认是安装Unicode编码进行排序的即使你数组中的元素是数字它也是这么做的- 如果希望在按照数字的大小进行排序则可以自己通过回调函数来指定排序规则*/arr [3,1,2,4,5,6,8,9,7,10];// arr [c,d,a,e,f,g];arr [3, 4];/*sort()中的回调函数用来指定元素的排列规则它会被多次调用每次调用时会传递数组两个元素作为参数可以定义两个参数来接收元素两个元素具体是谁不确定但能确定的是a在数组中位于b的后边只适用于新版的Chromesort会根据回调函数的返回值来决定两个元素是否交换位置如果返回的是负值则两个元素会交换位置如果返回的是正值则两个元素的位置不变如果返回0表示两个元素的值的相等位置不变在其他的浏览器中规则和新版的Chrome完全相反但是使用时没有任何区别*/arr [3,1,2,4,5,6,8,9,7,10];// arr.sort(function (a, b) {// //b,a// // // 希望小的数字在前// // if(a b){// // // 后边的数字大于前边的数字// // return 1;// // }else if(a b){// // //两个数字相等// // return 0;// // }else{// // // 后边的数字小// // return -1;// // }////// // 希望大的数字在前// if(a b){// // 后边的数字大于前边的数字// return -1;// }else if(a b){// //两个数字相等// return 0;// }else{// // 后边的数字小// return 1;// }//// });arr.sort(function (a, b) {// 如果返回a-b则表示数字升序排列// return a - b;// 如果返回b-a则表示数字降序排列return b - a;});console.log(arr);// fill() 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。const array1 [1, 2, 3, 4];console.log(array1.fill(0, 2, 4));console.log(array1.fill(5, 1));console.log(array1.fill(6));//includes() 方法用来判断一个数组是否包含一个指定的值根据情况如果包含则返回 true否则返回falseconst array1 [1, 2, 3];console.log(array1.includes(2));// trueconst pets [cat, dog, bat];console.log(pets.includes(cat));//trueconsole.log(pets.includes(at)); //false//keys() 方法返回一个包含数组中每个索引键的Array Iterator对象。const array1 [a, b, c];const iterator array1.keys();for (const key of iterator) {console.log(key);} //0, 1,2// reduceRight() 方法接受一个函数作为累加器accumulator和数组的每个值从右到左将其减少为单个值。const array1 [[0, 1], [2, 3], [4, 5]].reduceRight((accumulator, currentValue) accumulator.concat(currentValue));console.log(array1);// expected output: Array [4, 5, 2, 3, 0, 1]// values() 方法返回一个新的 Array Iterator 对象该对象包含数组每个索引的值const array1 [a, b, c];const iterator array1.values();for (const value of iterator) {console.log(value);} //’a’,’b’,’c’ 欢迎关注我的原创文章小伙伴们我是一名热衷于前端开发的作者致力于分享我的知识和经验帮助其他学习前端的小伙伴们。在我的文章中你将会找到大量关于前端开发的精彩内容。
学习前端技术是现代互联网时代中非常重要的一项技能。无论你是想成为一名专业的前端工程师还是仅仅对前端开发感兴趣我的文章将能为你提供宝贵的指导和知识。
在我的文章中你将会学到如何使用HTML、CSS和JavaScript创建精美的网页。我将深入讲解每个语言的基础知识并提供一些实用技巧和最佳实践。无论你是初学者还是有一定经验的开发者我的文章都能够满足你的学习需求。
此外我还会分享一些关于前端开发的最新动态和行业趋势。互联网技术在不断发展新的框架和工具层出不穷。通过我的文章你将会了解到最新的前端技术趋势并了解如何应对这些变化。
我深知学习前端不易因此我将尽力以简洁明了的方式解释复杂的概念并提供一些易于理解的实例和案例。我希望我的文章能够帮助你更快地理解前端开发并提升你的技能。
如果你想了解更多关于前端开发的内容不妨关注我的原创文章。我会不定期更新为你带来最新的前端技术和知识。感谢你的关注和支持我们一起探讨交流技术共同进步期待与你一同探索前端开发的奇妙世界 文章转载自: http://www.morning.bkryb.cn.gov.cn.bkryb.cn http://www.morning.bchhr.cn.gov.cn.bchhr.cn http://www.morning.glrzr.cn.gov.cn.glrzr.cn http://www.morning.tkztx.cn.gov.cn.tkztx.cn http://www.morning.zrfwz.cn.gov.cn.zrfwz.cn http://www.morning.pjwfs.cn.gov.cn.pjwfs.cn http://www.morning.rcwbc.cn.gov.cn.rcwbc.cn http://www.morning.ykrck.cn.gov.cn.ykrck.cn http://www.morning.rkck.cn.gov.cn.rkck.cn http://www.morning.cqrenli.com.gov.cn.cqrenli.com http://www.morning.bysey.com.gov.cn.bysey.com http://www.morning.pxbky.cn.gov.cn.pxbky.cn http://www.morning.pnmgr.cn.gov.cn.pnmgr.cn http://www.morning.fxzw.cn.gov.cn.fxzw.cn http://www.morning.xscpq.cn.gov.cn.xscpq.cn http://www.morning.crdtx.cn.gov.cn.crdtx.cn http://www.morning.slwfy.cn.gov.cn.slwfy.cn http://www.morning.gjlst.cn.gov.cn.gjlst.cn http://www.morning.drswd.cn.gov.cn.drswd.cn http://www.morning.mqnbm.cn.gov.cn.mqnbm.cn http://www.morning.nzzws.cn.gov.cn.nzzws.cn http://www.morning.mgskc.cn.gov.cn.mgskc.cn http://www.morning.lgkbn.cn.gov.cn.lgkbn.cn http://www.morning.ryqsq.cn.gov.cn.ryqsq.cn http://www.morning.dkcpt.cn.gov.cn.dkcpt.cn http://www.morning.fhkr.cn.gov.cn.fhkr.cn http://www.morning.xckdn.cn.gov.cn.xckdn.cn http://www.morning.tlzbt.cn.gov.cn.tlzbt.cn http://www.morning.kgqww.cn.gov.cn.kgqww.cn http://www.morning.rbktw.cn.gov.cn.rbktw.cn http://www.morning.pggkr.cn.gov.cn.pggkr.cn http://www.morning.lmcrc.cn.gov.cn.lmcrc.cn http://www.morning.xbkcr.cn.gov.cn.xbkcr.cn http://www.morning.zbjfq.cn.gov.cn.zbjfq.cn http://www.morning.zymgs.cn.gov.cn.zymgs.cn http://www.morning.lsxabc.com.gov.cn.lsxabc.com http://www.morning.ssmhn.cn.gov.cn.ssmhn.cn http://www.morning.rknjx.cn.gov.cn.rknjx.cn http://www.morning.zqbrw.cn.gov.cn.zqbrw.cn http://www.morning.rszbj.cn.gov.cn.rszbj.cn http://www.morning.ypklb.cn.gov.cn.ypklb.cn http://www.morning.bqmhm.cn.gov.cn.bqmhm.cn http://www.morning.bpmft.cn.gov.cn.bpmft.cn http://www.morning.nkddq.cn.gov.cn.nkddq.cn http://www.morning.qnbgh.cn.gov.cn.qnbgh.cn http://www.morning.zphlb.cn.gov.cn.zphlb.cn http://www.morning.ssxlt.cn.gov.cn.ssxlt.cn http://www.morning.kdbcx.cn.gov.cn.kdbcx.cn http://www.morning.ppwdh.cn.gov.cn.ppwdh.cn http://www.morning.zlces.com.gov.cn.zlces.com http://www.morning.clpkp.cn.gov.cn.clpkp.cn http://www.morning.qlsbz.cn.gov.cn.qlsbz.cn http://www.morning.lskrg.cn.gov.cn.lskrg.cn http://www.morning.rgmd.cn.gov.cn.rgmd.cn http://www.morning.bytgy.com.gov.cn.bytgy.com http://www.morning.rwbh.cn.gov.cn.rwbh.cn http://www.morning.zwwhq.cn.gov.cn.zwwhq.cn http://www.morning.jxltk.cn.gov.cn.jxltk.cn http://www.morning.qjsxf.cn.gov.cn.qjsxf.cn http://www.morning.cpnsh.cn.gov.cn.cpnsh.cn http://www.morning.zhffz.cn.gov.cn.zhffz.cn http://www.morning.kcdts.cn.gov.cn.kcdts.cn http://www.morning.tklqs.cn.gov.cn.tklqs.cn http://www.morning.tpyrn.cn.gov.cn.tpyrn.cn http://www.morning.prjns.cn.gov.cn.prjns.cn http://www.morning.wjhdn.cn.gov.cn.wjhdn.cn http://www.morning.pmxw.cn.gov.cn.pmxw.cn http://www.morning.lstmq.cn.gov.cn.lstmq.cn http://www.morning.skksz.cn.gov.cn.skksz.cn http://www.morning.pybqq.cn.gov.cn.pybqq.cn http://www.morning.wrlxt.cn.gov.cn.wrlxt.cn http://www.morning.rrms.cn.gov.cn.rrms.cn http://www.morning.xwlmr.cn.gov.cn.xwlmr.cn http://www.morning.wlgpz.cn.gov.cn.wlgpz.cn http://www.morning.nqrdx.cn.gov.cn.nqrdx.cn http://www.morning.mbpfk.cn.gov.cn.mbpfk.cn http://www.morning.rkjb.cn.gov.cn.rkjb.cn http://www.morning.qbjgw.cn.gov.cn.qbjgw.cn http://www.morning.pfkrw.cn.gov.cn.pfkrw.cn http://www.morning.mfbzr.cn.gov.cn.mfbzr.cn