转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://blog.bitsrc.io/3-flavors-of-the-for-loop-in-javascript-and-when-to-use-them-f0fb5501bdf3 在学习任何开发语言时候,for循环是必不可少的一种语法,可能所有开发人员都会使用它.它非常经典,以至于每个开发语言都至少包括一种关于循环的语法版本.不过,在JavaScript种包含了三种不同的循环语法(如…
JS中几种常见的数组算法 1.将稀疏数组变成不稀疏数组 /** * 稀疏数组 变为 不稀疏数组 * @params array arr 稀疏数组 * @return array 不稀疏的数组 */ function noSparse(arr) { var resArr = []; //创建空数组 for (var i = 0; i < arr.length; i ++) { if (arr[i] !== undefined) { resArr.push(arr[i]) } } return re…
转自:js中几种实用的跨域方法原理详解 - 无双 - 博客园 // // 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 下表给出了相对http://store.company.com/dir/page.html同源检测的结果: 要解决跨域的问题,我们可以使用以下几种方法: 一.通过jsonp跨域 在js中,我们直接用XMLHt…
1.JS中的定时器有两种: window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成定时器停止(但是定时器还在,只不过没用了);window.setInterval([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成,定时器并…
js中4种无节操的预解释情况 - 1. if语句即使条件不成立,条件里的表达式也会进行预解释. - 2. 匿名函数的预解释: 只对等号左边与解释 - 3. 自执行函数的预解释: 不进行预就解释, 执行的时候,定义+执行 - 4. return下面的语句也会进行预解释,但是return后面的语句不进行预解释 <script> var p1 = {name: "maotai"}; console.log(age); //1.即使条件不成立,条件里的表达式也会进行预解释. if…
js中6种错误 http://javascript.ruanyifeng.com/grammar/error.html#toc5 https://www.jianshu.com/p/467b9a145dcc try cache try { console.log(x); }catch (e) { console.dir(e); } console.log('还可以执行') try { console.log(x); }catch (e) { console.dir(e); throw new E…
js中三种定义变量的方式const, var, let的区别 1.const定义的变量不可以修改,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始化 3 console.log('函数外const定义b:' + b);//有输出值 4 // b = 5; 5 // console.log('函数外修改const定义b:' + b);//无法输出 2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错. 1 var a =…
继承 JS中继承的概念: 通过[某种方式]让一个对象可以访问到另一个对象中的属性和方法,我们把这种方式称之为继承 并不是所谓的xxx extends yyy 为什么要使用继承? 有些对象会有方法(动作.行为),而这些方法都是函数,如果把这些方法和函数都放在构造函数中声明就会导致内存的浪费 function Person(){ this.say=function(){ console.log("你好") } } var p1=new Person(); var p2=new Person…
前言:本文主要比较for.for-in.forEach和for-of的异同以及优缺点. for for循环是最原始最易理解的循环遍历方式 for(var index = 0;index < arr.length;index++){ console.log(arr[index]) } 使用continue和break可以跳出本次循环和退出循环 forEach 上述for循环的写法比较繁琐,因此数组提供了内置的forEach方法 arr.forEach((item, index) => { con…
今天研究js跨域问题的时候发现一篇好博,非常详细地讲解了js几种跨域方法的原理,特分享一下. 原博地址:http://www.cnblogs.com/2050/p/3191744.html 下面正文开始 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 下表给出了相对http://store.company.com/dir/pag…