javascript block

概览

语句块 (或其他语言中的 复合语句) 用来组织零个或多条语句. 用一对花括号界定语句块.

语法

{
  statement_1;
  statement_2;
  ...
  statement_n;
}

  

statement_1statement_2statement_n
语句都包裹在语句块中.

说明

语句块通常在流程控制语句 (如 ifforwhile)中使用.如:

while (x < 10) {
  x++;
}

  

注意语句块不是以分号结尾.

其他语言中通常将语句块称为 复合语句. 语句块允许你在Javascript需要一行语句的时候使用多行语句. 在JavaScript中使用语句块是种很常见的做法. 与之相反的做法是使用 empty语句, empty语句 可以在需要语句的环境下不提供任何语句.

没有块级作用域

重要提示: 通过var声明的变量没有块级作用域. Variables introduced with a block are scoped to the containing function or script, and the effects of setting them persist beyond the block itself. 换句话说, 语句块与作用域无关. 尽管单独的语句块是合法的语句, 但在JavaScript中你不会想使用单独的语句块,因为它们不像你想象的C或Java中的语句块那样处理事物. 例如:

var x = 1;
{
  var x = 2;
}
console.log(x); // logs 2

  

该代码段会输出2,因为块中的 var x 语句与块前面的var x 语句作用域相同. 在 C 或 Java中, 这段代码会输出1.

规范

Specification Status Comment
ECMAScript 1st Edition. Standard Initial definition. Implemented in JavaScript 1.0
ECMAScript 5.1 (ECMA-262)
Block statement
Standard  
ECMAScript 6 (ECMA-262)
Block statement
Release Candidate  

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
时间: 2024-10-18 16:21:05

javascript block的相关文章

coffeescript 1.8.0 documents

CoffeeScript is a little language that compiles into JavaScript. Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way. The golden rule

ASP.NET MVC WebGrid &ndash; Performing true AJAX pagination and sorting 【转】

ASP.NET MVC WebGrid – Performing true AJAX pagination and sorting FEBRUARY 27, 2012 14 COMMENTS WebGrid is a very powerful HTML helper component introduced with ASP.NET MVC 3 and ASP.NET Web Pages. Despite all its cool features, it is troublesome to

Changing an Elements innerHTML in TWebBrowser

I'm unable to change the innerHTML of a javascript element, but i can change the id so i'm not sure why it wont work. i get OLE error 800A0258. Any help will be great, thanks. =========================== "innerHTML of a javascript element" ...uh

build-your-first-mobile-app(第一个 PhoneGap cordova Coldfusion App)

摘自:http://www.adobe.com/devnet/coldfusion/articles/build-your-first-mobile-app.html Introduction Use of mobile devices and mobile applications are ever increasing. Mobile applications are becoming important for businesses. If you have a customer faci

界面优化x步走

前一阵子,对系统界面做了些调优的工作.简单总结下: 1. js css压缩合并,老生常谈 ,前面blog也介绍了assets管理自动压缩的 机制. 2. 图片sprite png合并 就是将多个图片合并到一张图片上,减少了网络请求. 3. 图片优化,optipng-0.7.5.man.pdf 压缩图片到比较好的大小,经过仔细对比,感觉其实是减少了一些相近的颜色,统一替换. 4.  Defer parsing javascript ,其实就是将javascript滞后,不阻止页面加载,具体原理可以

学生管理之模板继承

一.母版提取 我们先看以下几个页面: 班级管理 学生管理 老师管理 你可以看出,除了每个红色框框以外,其他的地方都是一样的.这样我们就可以使用模板的功能,也就是只有部分地方需要填充. 母版提取: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Title</title> //############

Javascript的坑(一)---------- block statement scope

在ECMAScript 6之前,Javascript是没有block statement scope的..... 这就导致了诡异的现象,比如下面的代码 var x = 1; { var y = 2; } console.log(y); // outputs 2 简直神奇..... 现在有了ECMAScript 6,代码就可以这样写 var x = 1; { let y = 2; } console.log(y); // ReferenceError: y is not defined 嗯,这样就

javascript 控制 table tr display block 显示模式时,只对第一个单元格有效

有一个简单的 table: <table > <tr > <th>编号</th> <th>类型</th> <th>详细</th> <th>创建时间</th> <th>修改时间</th> <th>操作</th> </tr> <tr> <td>5</th> <td>TECH</t

JavaScript框架探索1——为何JavaScript开发需要框架

当下浏览器是JavaScript重要的宿主环境,因此我们非常有必要讨论一下浏览器这款客户端应用程序.而浏览器是伴随着互联网的发展而发展的. 1969年互联网诞生,此后得到了飞速的发展,它将全世界各地互联了起来. 1991年一个划时代的东西----浏览器横空出世,自此,互联网走进普通大众的家中,我们只需要输入一个url地址再按下回车这个窗口中就显示出我们想要的内容,早期的时候这些内容通常以文字的形式呈现出来,后来又有了图形化呈现的方式,我们通常把这个窗口和里面的内容叫做网页. 通过以上过程的描述,