JavaSctipt语句for循环的思考
一、语法
for (语句 1; 语句 2; 语句 3) {
被执行的代码块;
}
- 语句 1: 在循环(代码块)开始前执行, 可选.
- 语句 2: 定义运行循环(代码块)的条件, 可选, 如果省略了语句 2, 那么必须在循环内提供 break, 否则循环就无法停下来.
- 语句 3: 在循环(代码块)已被执行之后执行, 可选.
二、常规写法
var arr = [1, 2, 3, 4, 5];
(function(){
for(var i = 0; i < arr.length; i++){
console.log(arr[i]); //1 2 3 4 5
}
})();
三、改进
3.1 将数组长度提前提取出来,避免每次循环提取一次
(function(){
for(var i = 0, max = arr.length; i < max; i++){
console.log(arr[i]); //1 2 3 4 5
}
})();
3.2 i += 1或i = i+1比i++快
(function(){
for(var i = 0, max = arr.length; i < max; i += 1){
console.log(arr[i]); //1 2 3 4 5
}
})();
3.3 和0作比较更快
(function(){
for(var i = arr.length; i--;){
console.log(arr[i]); //5 4 3 2 1
}
})();
(function(){
var i = arr.length;
while(i--){
console.log(arr[i]); //5 4 3 2 1
}
})();
JavaSctipt语句for循环的思考的更多相关文章
- Java使用条件语句和循环结构确定控制流
与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流.本文将简单讲解条件.循环和switch. 一.块作用域 块(block),即复合语句.是指由一对大括号括起来的若干条简单的Java语句 ...
- python的分支语句与循环
一.分支语句 1.if else语句 语法: if 条件判断: 执行的语句块1 else : 执行语句块2 当满足条件的时候则执行语句块1 ,不满足条件就执行语句块2 注意:1.条件判断后面要加冒号& ...
- javascript语句——条件语句、循环语句和跳转语句
× 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...
- 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等
[源码下载] 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等 作者:webabcd 介绍不可或缺 Windows Native ...
- VB的判断语句和循环语句
判断语句 •If语句 if语句共有4种写法: 第一种语法: If 条件判断语句 then 程序代码 第二种语法:If 条件判断语句 then 程序代码 else 程式代码 第三种语法: If 条件 ...
- C#条件语句、循环语句
一.程序的三种结构 顺序结构 分支结构 循环结构 二.条件语句if 语句是最有用的控制结构之一. if … else …语句的语法: if (布尔表达式)执行操作的语句 或if (布尔表达式)执行操 ...
- SQL基本编程,分支语句,循环语句,存储过程,触发器
基本编程: 定义变量 declare @变量名 数据类型 赋值 set @变量名 = 值 select @变量名 = 值 取值打印 select @变量名 print @变量名 映射到结果集 打印到消 ...
- JavaScript之语句,循环
JavaScript中语句主要分为三类:顺序,分支,循环. 1.顺序语句: 按照循序依次执行,最普通常见的语句,这里不多赘述. 其结构如下 2.分支语句: 根据条件判断,不同的结果执行不同的语句. 其 ...
- python基础(4):条件语句与循环语句
今天我们看看条件语句与循环语句. 预习: 1.使用while循环输出1 2 3 4 5 6 8 9 10 2.求1-100的所有数的和 3.输出 1-100 内的所有奇数 4.输出 1-100 内的所 ...
随机推荐
- LeetCode——Anagrams
Given an array of strings, return all groups of strings that are anagrams. Note: All inputs will be ...
- Visual Studio C++ MFC界面常用参数更改(改变图标,添加控件,调试打印函数等等)
背景 需要使用Visual Studio C++做一些界面.此篇文章既是记录Visual Studio C++在调整界面时常常遇见的问题. 正文 一.如何更改窗体图标,以及生成的.exe图标 更改窗体 ...
- java 开发中的debug
mysql 的 级联删除与级联更新 create table student( id int, departmentId int, foreign key(departmentId) referenc ...
- [原创]JAVA号码工具类:实现手机固话号码判断与区号截取
工具类说明 该工具类主要是用于判断号码的类型,如果是手机类型,则返回号码前7位,便于后面继续判断号码归属地:如果是固话类型,则截取固话的区号,同样也是为了后面判断号码的归属地. 在获取到这些信息之后, ...
- Atitit.java jna 调用c c++ dll的原理与实践 总结 v2 q27
Atitit.java jna 调用c c++ dll的原理与实践 总结 v2 q27 1. Jna简单介绍1 2. Jna范例halo owrld1 3. Jna概念2 3.1. (1)需 ...
- InputArray和OutputArray
源码路径:~/opencv-2.4.9/modules/core/include/opencv2/core/core.hpp where _InputArray is a class that can ...
- 关于extern的说明
extern的作用: extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义. 声明外部变量 现代编译器一般采用按文件编译的方式 ...
- spring boot中 使用http请求
因为项目需求,需要两个系统之间进行通信,经过一番调研,决定使用http请求. 服务端没有什么好说的,本来就是使用web 页面进行访问的,所以spring boot启动后,controller层的接口就 ...
- android学习十四(android的接收短信)
收发短信是每一个手机主要的操作,android手机当然也能够接收短信了. android系统提供了一系列的API,使得我们能够在自己的应用程序里接收和发送短信. 事实上接收短信主要是利用我们前面学过的 ...
- Scrapy爬虫入门系列3 将抓取到的数据存入数据库与验证数据有效性
抓取到的item 会被发送到Item Pipeline进行处理 Item Pipeline常用于 cleansing HTML data validating scraped data (checki ...