js(javascript)中的奇特for循环写法!

本文章为JavaScript强化教程系列介绍js开发

最近在在一份面试题中看到这样几种for循环的写法第一反应是懵逼的

之后仔细看一下还是没有问题的

首先上代码第一种 正常的循环

[javascript] view plain copy 

  1. forvar i=0;i<10;i++{}


这种f循环是正常的循环完全没有问题

第二种

[javascript] view plain copy 

  1. forvar i=10;i--;{}

循环结果是正常循环10次

第三种

for(;;);

这种会死循环

第四种

[javascript] view plain copy 

  1. for(;1;){}

[javascript] view plain copy 

  1. 这种写法依然是死循环

让我们来想一下for循环的结构for(表达式1表达式2表达式3){循环体}

表达式1 是一个初始值

表达式2 是判断条件 为真时循环继续进行下一次 为假时停止循环

表达式3 是一个变量递增

还要注意点 js中表达式可以不写 但是“”不能省略。

然后我们来分析一下 几种特殊的写法

写法2 表达式3省去但是表达式2 是一个熊10到0递减的数所以在10~1的时候表达式2为真循环进行在为0的时候为假停止循环。

写法3  所有条件都没有 那肯定死循环了

写法4 表达式2 恒为真  循环一直进行下去喽 ~~~死循环喽 ~~~

时间: 2024-10-15 05:39:20

js(javascript)中的奇特for循环写法!的相关文章

JavaScript 中的12种循环遍历方法

题目:请介绍 JavaScript 中有哪些循环和遍历的方法,说说它们的应用场景和优缺点? 1.for 循环 let arr = [1,2,3];for (let i=0; i<arr.length; i++){ console.log(i,arr[i])}// 0 1// 1 2// 2 3 for 循环是 Js 中最常用的一个循环工具,经常用于数组的循环遍历. 2.for in 循环 let obj = {name:'zhou',age:'**'}for(let i in obj){ con

javascript中的for in循环和for循环的使用

javascript for...in 语句 for...in 语句用于对数组或者对象的属性进行循环操作. for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作. Tip:for-in循环应该用在非数组对象的遍历上,使用for-in进行循环也被称为“枚举”. 语法: for (变量 in 对象) { 在此执行代码 } “变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性. 实例:使用 for ... in 循环遍历数组. <html> <

JavaScript中如何中断forEach循环

先来看下forEach的实现 // Production steps of ECMA-262, Edition 5, 15.4.4.18// Reference: http://es5.github.io/#x15.4.4.18if (!Array.prototype.forEach) {   Array.prototype.forEach = function(callback, thisArg) {     var T, k;     if (this === null) {      th

JavaScript中匿名函数的多种写法

匿名函数没有实际名字,也没有指针,怎么执行滴?  其实大家可以看看小括号的意义就应该可以理解.小括号有返回值,也就是小括号内的函数或者表达式的返回值,所以说小括号内的function返回值等于小括号的返回值,不难理解 (function(){})()可以将没有名字的函数执行了把- 关于匿名函数写法,很发散~ 最常见的用法: 代码如下: (function() { alert('water'); })(); 当然也可以带参数: 代码如下: (function(o) { alert(o); })('

如何快速理解JavaScript 中重要语句for循环

一.基本结构:for(起始状态:判断条件:状态改变){ 执行语句: } 执行顺序:for(var i=1;i<3;i++){ alert(i); } 1.判断条件    2.执行语句    3.状态改变 break(结束此循环).continue(跳过本次循环,开始下个循环) 二.例: 1.输出100 以内与7相关的数 <script type="text/javascript"> var str = ''; for(var i = 1; i <= 100; i

java 和 JS(javaScript)中的反斜杠正则转义

首先说下为什么要转义.在正则中有些字符有特殊含义的,比方说 * 可以前一子表达式的任意次,. 表示除"\r\n"之外的任何单个字符,+ 表示前一子表达式的一次或多次,等.而在有些情况下,需要正则验证这些字符,比方说要验证加减乘除四个运算符号,为了告诉编译器,你要验证的是一个字符而不是正则表达式,就要对这些有特殊含义的字符进行转义,这样就有了转义这一操作. 在java 和javascipt中,都是用反斜杠"\"进行转义,然后两种语言的用法不尽相同,下面举例说明: 1.

cocos2d JS -&gt; JavaScript 中的简单继承关系

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC" } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; min-height: 25.0px } span.Apple-tab-span { white-space: pre } JavaScript 语言本身没有提供类,没有其他语言的类继承机制,它的

JS JavaScript中的this

this是JavaScript语言中的一个关键字 它是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内部使用. function test() { this.x = 1; } 上面代码中,函数test运行时,内部会自动有一个this对象可以使用. 那么,this的值是什么呢? 函数在不同使用场合,this有不同的值.总之,this就是函数运行时所在的环境对象. 情况一:纯粹的函数调用 这是函数的最常通用法,属于全局性调用,因此this就代表全局对象. var x = 1; functi

JS JavaScript中的文档碎片 DocumentFragement JS性能优化

文档碎片是什么: 如果我们要在一个ul中添加100个li,如果不使用文档碎片,那么我们就需要使用append经常100次的追加,这会导致浏览器一直不停的渲染,是非常消耗资源的.但是如果我们使用文档碎片了,我们可以先将100个li添加到文档碎片中,然后直接把这个文档碎片追加到ul中即可.所以文档碎片其实就是一个临时的仓库. 如下代码在document.body中添加5个span for(var i=0;i<5;i++) { var op = document.createElement("s