服装网站推广策划书小程序开发价格及清单
2026/3/29 23:57:19 网站建设 项目流程
服装网站推广策划书,小程序开发价格及清单,手机分销网站建设,网站源码客户数组–Array 数组使用数字作为索引操作元素 var arrnew Array(); arr[0]10;获取数组长度 console.log(arr.length); 修改length arr.length10; 向下位添加元素#xff1a; arr[arr.length]11; 数组字面量 var arr[1,2,3,4,5,6]; var arr2new Array(10); 数组的四个方法 pushnewArray();arr[0]10;获取数组长度console.log(arr.length);修改lengtharr.length10;向下位添加元素arr[arr.length]11;数组字面量var arr[1,2,3,4,5,6];var arr2new Array(10);数组的四个方法push向数组末尾添加一个或多个元素返回数组的长度 arr.push(“孙悟空”“唐僧”)pop删除最后一个元素并将删除的元素返回 unshiftr向数组开头添加一个或多个元素返回数组的长度arr.unshift(“沙和尚”,“猪八戒”)shift删除第一个元素将删除的元素作为返回值返回数组的遍历forEach 需要一个函数作为参数由我们创建但不由我们调用的函数叫做回调函数数组中有几个元素就调用几次浏览器会在回调函数中传递三个参数第一个参数是当前正在遍历的值第二个参数是当前正在遍历的元素的索引第三个元素是正在遍历的数组arr.forEach(function(abc){console.log(aa);})slice和spliceslice可以将元素从数组中提取出来该方法不会影响原数组将元素放到一个新数组中所截取元素前包后不包第二个元素省略不写会向后取到尾索引可以传一个负值从后往前计算newarrarr.slice(1,3)splice可以删除数组中指定元素会影响原数组将元素从原素组删除返回被删除元素一共三个参数第一个表示开始位置的索引第二个表示删除数量第三个及以后可以传递新的元素自动插入到第一个索引位置前splice1,2“猪八戒”数组的剩余方法**concat**将两个或多个数组连接成一个或者向里传递元素不会对原数组产生影响varnewarrarr.concat(arr2);varnewarrarr.concat(arr2arr3);varnewarrarr.concat(arr2arr3铁扇公主);**join**将数组转换为一个字符串不会对原数组产生影响将产生的字符串返回括号内为连接方式默认为,vararr[猪八戒,孙悟空,唐僧]resultarr.joinreverse进行翻转arr.reverse();sort()对数组里的元素进行排序会影响原数组会按照unicode编码排序纯数字进行排序可能会得到错误结果可以自己制定排序规则在serve中添加回调函数回调函数设置两个形参浏览器会分别使用数组中的元素作为实参去调用回调函数使用哪个函数不确定但是a一定在b前浏览器会根据回调函数的返回值来决定元素的顺序如果返回一个大于 0 的值则元素会交换位置如果返回一个小于 0的值则元素位置不变如果返回一个 0则认为两个元素相等也不交换位置arr[5,4];arr.sort(function(a,b){console.log(a a);console.log(b b);});console.log(arr);call和apply是函数对象的方法需要通过函数对象来使用当对函数调用call()和apply()都会调用函数执行 -在调用call和apply()可以讲一个对象指定为第一个参数此时这个对象将会成为函数执行时的 thisfun.apply(obj);call()方法可以将实参在对象之后依次传递fun.call(obj,2,3);apply()方法需要将实参封装到一个数组中统一传递this的情况以函数形式调用时this永远都是window以方法的形式调用时this是调用方法的对象以构造函数的形式调用时this是新创建的那个对象使用call和apply调用时this是指定的那个对象arguments在调用函数时浏览器每次都会传递进两个隐含的参数函数的上下文对象 this封装实参的对象 argumentsarguments是一个类数组对象它也可以通过索引来操作数据也可以获取长度在调用函数时我们所传递的实参都会在arguments中保存arguments.length可以用来获取实参的长度我们即使不定义形参也可以通过arguments来使用实参 只不过比较麻烦arguments[0] 表示第一个实参arguments[1] 表示第二个实参它里边有一个属性叫做callee 这个属性对应一个函数对象就是当前正在指向的函数的对象functionfun(a,b){console.log(arguments[1]);//提取第二个实参console.log(arguments.length);//看看有几个实参console.log(arguments.callee);}Date对象在js用date函数表示时间vardnewDate();console.log(d);直接使用date会封装为代码执行的时间创建一个指定时间对象需要在构造函数中传递一个表示时间的字符串作为参数日期格式 月份/日/年份 时分秒vard2newDate(12/03/2016 11:10:30);console.log(d2);**getDate**获取当前日期是几日获取当前日期对象是几日vardated2.getDate();**getDay**获取当前日期是周几var day d2.getDay();会返回0-6的值周日为0**getMonth**获取当前日期是几月返回0-11的值分别表示一月到十一月varmonthd2.getMonth;**getFullYear**获取当前日期的年份varfullYeard2.getFullYear;getTime获取当前时期的时间戳从1970年一月一日零时零分零秒–格林威治标准时间到当前时间的毫秒数vard2newDate(12/03/2016 11:10:30);vartimed2.getTime();//获取当前时间戳timeDate.now();MathMath和其他的对象不同,它不是一个构造函数, 它属于一个工具类:不用创建对象,里边封装了数学运算相关的属性和方法absconsole.log(Math.abs(-1));取一个数的绝对值ceil对数进行上输入向上取整floor向下取整round四舍五入取整Math.random()生成0-1之间的随机数没有0和1Math.random(Math.random()*x)生成0-x之间的随机数Math.random(Math.random()*y-x)x生成x-y之间的随机数Math.max()获取多个数中的最大值Math.min()获取多个数中的最小值Math.pow(x,y)返回x的y次幂包装类基本数据类型 String Number Boolean Null Undefined引用数据类型 Object在JS中为我们提供了三个包装类通过这三个包装类可以将基本数据类型的数据转换为对象String( ) - 可以将基本数据类型字符串转换为String对象Number( ) - 可以将基本数据类型的数字转换为Number对象Boolean( ) - 可以将基本数据类型的布尔值转换为Boolean对象varnumnewNumber(3);varstrnewString(hello);varboolnewBoolean(true);方法和属性之能添加给对象不能添加给基本数据类型当我们对一些基本数据类型的值去调用属性和方法时 浏览器会临时使用包装类将其转换为对象然后在调用对象的属性和方法字符串的方法在底层字符串是以字符数组的形式保存的[“H”,“e”,“l”,“l”,“o”]var str“Hello”console.log(str.length);//空格也算长度console.log(str[1]);//echarAt()可以返回字符串中指定位置的字符var resultstr.charAt(0)charCodeAt()返回字符串中指定位置字符的unicode编码var resultstr.charCodeAt(0)fromcharCoderesult String.fromCharCode(0x10086);0x为十进制的标志concat可以连接两个或多个字符串作用和一样result str.concat(“你好”,“再见”);indexof检查字符串中是否有指定字符strhello atguigu;resultstr.indexOf(e);console.log(result);如果字符串中含有该内容则会返回其第一次出现的索引如果没有找到指定的内容则返回 - 1可以指定一个第二个参数指定开始查找的位置strhello atguigu;resultstr.indexOf(e2);console.log(result);lastIndexof该方法的用法和 indexOf () 一样不同的是 indexOf 是从前往后找而 lastIndexOf 是从后往前找slice截取指定内容不会影响原字符串strabcdefghijk;resultstr.slice(0,2);console.log(result);参数包括开始位置不包括结束位置传递负数从后往前算substring可以用来截取一个字符串可以 slice () 类似参数第一个开始截取位置的索引包括开始位置第二个结束位置的索引不包括结束位置不同的是这个方法不能接受负值作为参数如果传递了一个负值则默认使用 0会自动调整参数位置由小到大substr● 用来截取字符串● 参数截取开始位置的索引截取的长度正则表达式用于定义一些字符串的规则正则表达式用于定义一些字符串的规则计算机可以根据正则表达式来检查一个字符串是否符合规则获取将字符串中符合规则的内容提取出来语法var 变量 new RegExp(“正则表达式”,“匹配模式”);在构造函数中可以传递一个匹配模式作为第二个参数可以是i 忽略大小写g 全局匹配模式正则表达式的方法test ()使用这个方法可以用来检查一个字符串是否符合正则表达式的规则如果符合则返回 true否则返回 falsevar reg new RegExp(“a”);var str “a”;var result reg.test(str);console.log(reg.test(“Abcbc”));使用字面量创建正则表达式语法var 变量 / 正则表达式 / 匹配模式使用字面量的方式创建更加简单使用构造函数创建更加灵活//var reg new RegExp(a,i);varreg/a/i;或a|b|c|d|e [abcde][a-e]//检查一个字符串中是否含有abc或adc或aecvarreg/a[bda]c/除了reg/[^ab]/字符串和正则表达式plit ()● 可以将一个字符串拆分为一个数组● 方法中可以传递一个正则表达式作为参数这样方法将会根据正则表达式去拆分字符串● 无需添加g默认全局varstr1a2b3c4d5e6f7;varresultstr.split(/[A-z]/);console.log(result);search● 可以搜索字符串中是否含有指定内容● 如果搜索到指定内容则会返回第一次出现的索引如果没有搜索到返回 - 1● 它可以接受一个正则表达式作为参数然后会根据正则表达式去检索字符串● 只会查找第一个即使设置gstrhello abc hello aec afc;resultstr.search(/a[bef]c/);console.log(result);match ()● 可以根据正则表达式从一个字符串中将符合条件的内容提取出来str “1a2b3c4d5e6f7”;result str.match(/[A-z]/);console.log(result);默认只找到第一个可以设置全局匹配在后面加gstr1a2b3c4d5e6f7;resultstr.match(/[A-z]/g);console.log(result);可以为一个正则表达式设置多个匹配模式且顺序无所谓str1a2b3c4d5e6f7;resultstr.match(/[A-z]/gi);console.log(result);● match () 会将匹配到的内容封装到一个数组中返回即使只查询到一个结果replace将字符串中的内容替换新的内容参数1.原内容2.新内容默认只替换第一个resultstr.replace(/a/gi,_);console.log(result);正则表达式语法量词通过量词可以设置一个内容出现的次数量词只对它前边的一个内容起作用{n} 正好出现n次{m,n} 出现m~n次至少一次相当于{1,}0个或多个相当于{0,}? 0个或2个相当于{0,1}varreg/a{3}///a连续出现三次varreg/(ab){3}///ab连续出现三次varreg/ab{3}c///a和c之间出现三次bvarreg/ab{m,n}c///a和c之间出现m次到n次bvarreg/ab{m,}c///a和c之间出现m次以上b表示至少一个varreg/abc/^表示开头reg/^a/以a开头$表示结尾以a结尾:reg/a$/.表示任意字符表示.可以使用转义字.\w 表示任意字母数字下划线\W 除了字母数字下划线\d 任意数字 \D 除了数字\s 空格 \S 除了空格\b 单词边界\B 除了单词边界/* * 创建一个正则表达式检查一个字符串中是否含有单词child */reg/\bchild\b/;//child前后不能加其他单词console.log(reg.test(hello children));//falseprompt获取用户输入去除开头的空格 strstr.replace(/^\s*/,);去除结尾的空格 strstr.replace(/\s*$/,);/^\s*|\s*$/g 匹配开头和结尾的空格Dom● 节点Node—— 构成 HTML 文档最基本的单元。● 常用节点分为四类文档节点整个 HTML 文档元素节点HTML 当中的 HTML 标签属性节点元素的属性文本节点HTML标签中的文本内容浏览器已经为我们提供文档节点对象 这个对象是window属性可以在页面中直接使用文档节点代表的是整个网页例子//获取到button对象document.getElementById(btn);//修改按钮的文字btn.innerHTMLIm Button;Dom查询获取元素节点● 通过document对象调用getElementById()● 通过id属性获取一个元素节点对象getElementsByTagName()● 通过标签名获取一组元素节点对象● getElementsByTagName()可以根据标签名来获取一组元素节点对象这个方法会给我们返回一个类数组对象所有查询到的元素都会封装到对象中getElementsByName()● 通过name属性获取一组元素节点对象/* * 如果需要读取元素节点属性 * 直接使用 元素.属性名 * 例子元素.id 元素.name 元素.value * 注意class属性不能采用这种方式 * 读取class属性时需要使用 元素.className */alert(inputs[i].class);获取元素节点的子节点通过具体的元素节点调用getElementsByTagName() - 方法返回当前节点的指定标签名后代节点childNodes - 属性表示当前节点的所有子节点childNodes属性会获取包括文本节点在内的所有节点注意DOM标签之间空白也会当成文本节点注意在IE8及以下的浏览器中不会将空白文本当成子节点所以该属性在IE8中会返回4个子元素而其他浏览器是9个firstChild - 属性表示当前节点的第一个子节点firstChild可以获取到当前元素的第一个子节点包括空白文本节点lastChild - 属性表示当前节点的最后一个子节点获取父节点和兄弟节点parentNode● 属性表示当前节点的父节点previousSibling● 属性表示当前节点的前一个兄弟节点● 也可能获取空白文本nextSibling● 属性表示当前节点的后一个兄弟节点● 也可能获取空白文本innerText● 该属性可以获取到元素内部的文本内容● 它和innerHTML类似不同的是它会自动将html去除varumdocument.getElementById(username);//读取um的value属性值//文本框的value属性值就是文本框中填写的内容alert(um.value);document.querySelector()需要一个选择器的字符串作为参数可以根据一个CSS选择器来查询一个元素节点对象只会选择第一个元素vardivdocument.querySelector(.box1 div);varbox1document.querySelector(.box1);console.log(div.innerHTML);console.log(box1);document.querySelectorAll()该方法和querySelector()用法类似不同的是它会将符合条件的元素封装到一个数组中返回varbox1document.querySelectorAll(.box1);console.log(box1.length);dom增删改document.createElement()可以用于创建一个元素节点对象 它需要一个标签名作为参数将会根据该标签名创建元素节点对象 并将创建好的对象作为返回值返回var li document.createElement(“li”);document.createTextNode()可以用来创建一个文本节点对象 需要一个文本内容作为参数将会根据该内容创建文本节点并将新的节点返回var gzText document.createTextNode(“广州”);appendChild()向一个父节点中添加一个新的子节点用法父节点.appendChild(子节点);li.appendChild(gzText);insertBefore()可以在指定的子节点前插入新的子节点语法父节点.insertBefore(新节点,旧节点);city.insertBefore(li , bj);replaceChild()可以使用指定的子节点替换已有的子节点语法父节点.replaceChild(新节点,旧节点);removeChild()可以删除一个子节点语法 父节点.removeChild(子节点);或 子节点.parentNode.removeChild(子节点);修改html//向city中添加广州varcitydocument.getElementById(city);city.innerHTMLli广州/li;综合使用//创建一个livarlidocument.createElement(li);//向li中设置文本li.innerHTML广州;//将li添加到city中city.appendChild(li);事件的简介我们可以在事件对应的属性中设置一些 js 代码这样当事件被触发时这些代码将会执行button idbtnonclickalert(讨厌你点我干嘛);我是一个按钮/button//这种写法结构和行为耦合不建议写可以为按钮的对应事件绑定处理函数的形式来响应事件事件被触发时会调用函数bodybutton idbtn1这是一个按钮/buttonscript srcjs/jianbian.js/script/bodyjs代码//获取按钮对象varbtndocument.getElementById(btn1);//绑定一个单击事件btn.onclickfunction(){alert(你还点~~~);};文档的加载默认从上到下进行/* * onload事件会在整个页面加载完成之后才触发 * 为window绑定一个onload事件 *该事件对应的响应函数将会在页面加载完成之后执行 *这样可以确保我们的代码执行时所有的DOM对象已经加载完毕 */window.onloadfunction(){alert(hello);};事件对象onmousemove该事件将会在鼠标在元素中移动时被触发areaDiv.onmousemovefunction(){};事件对象当事件的响应函数被触发时浏览器每次都会将一个事件对象作为实参传递进响应函数在事件对象中封装了当前事件相关的一切信息比如鼠标的坐标 键盘哪个按键被按下 鼠标滚轮滚动的方向。。。//定义一个形参areaDiv.onmousemovefunction(event){/* * clientX可以获取鼠标指针的水平坐标 * cilentY可以获取鼠标指针的垂直坐标 */varxevent.clientX;varyevent.clientY;alert(x x , y y);//在showMsg中显示鼠标的坐标事件的冒泡事件的冒泡Bubble所谓的冒泡指的就是事件的向上传导当后代元素上的事件被触发时其祖先元素的相同事件也会被触发//取消冒泡//可以将事件对象的cancelBubble设置为true即可取消冒泡event.cancelBubbletrue;事件的委派//如果触发事件的对象是我们期望的元素 则执行否则不执行if(event.target.classNamelink){alert(我是ul的单击响应函数)事件的绑定使用 对象.事件 函数 的形式绑定响应函数它只能同时为一个元素的一个事件绑定一个响应函数不能绑定多个如果绑定了多个则后边会覆盖掉前边的addEventListener()● 通过这个方法也可以为元素绑定响应函数● 参数a. 事件的字符串 不要onb. 回调函数当事件触发时该函数会被调用c. 是否在捕获阶段触发事件需要一个布尔值一般都传false*使用addEventListener()可以同时为一个元素的相同事件同时绑定多个响应函数,*这样当事件被触发时响应函数将会按照函数的绑定顺序执行*/btn01.addEventListener(click,function(){alert(1);},false);btn01.addEventListener(click,function(){alert(2);},false);btn01.addEventListener(click,function(){alert(3);},false);attachEvent()这个方法也可以同时为一个事件绑定多个处理函数 不同的是它是后绑定先执行执行顺序和addEventListener()相反/* * attachEvent() * - 在IE8中可以使用attachEvent()来绑定事件 * - 参数 * 1.事件的字符串要on * 2.回调函数 */btn01.attachEvent(onclick,function(){alert(1);});Bom浏览器对象模型BOM可以使我们通过JS来操作浏览器在BOM中为我们提供了一组对象用来完成对浏览器的操作BOM对象Window整个浏览器的窗口window也是网页中的全局对象Navigator当前浏览器的信息可以通过该对象识别不同浏览器Location代表当前对象的地址栏信息通过location可以获取地址栏信息或者操作跳转页面History历史记录可以操作浏览器历史记录由于隐私原因不能获取到具体记录只能操作向前或后退且只在当次访问时有效Screen代表屏幕信息可以获取用户显示器的相关信息这些BOM对象在浏览器中都是作为window对象的属性保存的可以通过window对象来使用也可以直接使用console.log(navigator);console.log(location);console.log(history);Navigator代表的当前浏览器的信息通过该对象可以来识别不同的浏览器由于历史原因Navigator对象中的大部分属性都已经不能帮助我们识别浏览器了一般我们只会使用userAgent来判断浏览器的信息userAgent是一个字符串这个字符串中包含有用来描述浏览器信息的内容不同的浏览器会有不同的userAgentconsole.log(navigator.userAgent);varuanavigator.userAgent;if(/firefox/i.test(ua)){alert(你是火狐);}elseif(){}History可以用来操作浏览器向前向后翻页length 可以获取到当成访问的链接数量alert(history.length);back()可以用来回退到上一个页面作用和浏览器的回退按钮一样history.back();forward()可以跳转下一个页面作用和浏览器的前进按钮一样history.forward();go()可以用来跳转到指定的页面它需要一个整数作为参数1表示向前跳转一个页面2表示向前跳转两个页面负数向后跳history.go(1); ;Location/如果直接将location属性修改为一个完整的路径或相对路径则我们页面会自动跳转到该路径location “http://www.baidu.com”;location “01.BOM.html”;assign()用来跳转到其他的页面作用和直接修改location一样location.assign(“http://www.baidu.com”);reload()用于重新加载当前页面作用和刷新按钮一样如果在方法中传递一个true作为参数则会强制清空缓存刷新页面location.reload(true);replace()可以使用一个新的页面替换当前页面调用完毕也会跳转页面不会生成历史记录不能使用回退按钮回退location.replace(“01.BOM.html”);定时器setInterval()定时调用可以将一个函数每隔一段时间执行一次参数回调函数该函数会每隔一段时间被调用一次2.每次调用间隔的时间单位是毫秒返回值会返回一个number属性的数据这个数字作为定时器的唯一标识clearInterval可以用来关闭一个计时器该方法中需要一个定时器的标识作为参数这样关闭标识对应的定时器vararrimg[img/p1.jpg,img/p2.jpg,img/p3.jpg,img/p4.jpg,img/p5.jpg,img/p6.jpg]varj0;vartimer1setInterval(function(){varpicdocument.getElementById(picture);pic.srcarrimg[j];j;if(jarrimg.length){j0;}},1000)setTimeout延时调用延时调用一个函数不马上执行而是隔一段时间以后在执行而且只会执行一次延时调用和定时调用的区别定时调用会执行多次而延时调用只会执行一次clearTimeout可以用来关闭一个延时调用● 延时调用和定时调用实际上是可以互相代替的● var timer setTimeout (function (){● console.log (num);● },3000);

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询