摘要:表达式语句把表达式当做语句的用法声明语句用来声明新变量或定义新函数控制结构改变语句的默认执行顺序条件语句循环语句跳转语句表达式语句赋值语句运算符函数调用等复合语句和空语句复合语句复合语句将多条语句联合在一起,当成一条多带带的语句语句块的结尾不
表达式语句(expression statement):把表达式当做语句的用法;
声明语句(declaration statement):用来声明新变量或定义新函数;
控制结构(control structure):改变语句的默认执行顺序:
条件(conditional)语句;
循环(loop)语句;
跳转(jump)语句;
1 表达式语句赋值语句、delete运算符、函数调用等
2 复合语句和空语句复合语句
复合语句(compound statement):将多条语句联合在一起,当成一条多带带的语句;
语句块的结尾不需要分号;
语句块中的行要缩进整齐(为了可读性);
当希望多条语句被当成一条语句使用时,就应该使用复合语句
{ var x = Math.PI; console.log(x); }
空语句
空语句(empty statement):允许包含0条语句的语句:
如果有特殊目的需要用到空语句,那么在代码中添加注释:
var arr = [1,2,3]; for (var i = 0; i < arr.length; i++) /* empty */ ; //空语句3 声明语句 3.1 var
语法:var name_1 [ = value_1 ] [,..., name_n [ = value_n ]]
3.2 function语法:
function funcname ([arg1 [, arg2 [..., argn]]]) { statements }4 条件语句 4.1 if
语法:
if (condition) { // statement }
语法:
if (condition) { // statement } else { // statement }4.2 else-if
语法:
if (condition) { // statement } else if (condition) { } else if (condition) { } else { }4.3 switch
语法:
switch (expression) { case label_1: // statements_1 break; default: // statements_def break; }
case匹配操作实际上是恒等运算符的比较
5 循环 5.1 while语法:
while (condition) { // statement }5.2 do-while
语法:
do{ // statement } while (condition);5.3 for
关键点在于初始化、检测和更新
语法:
for (initialize; test; increment) { statement };
//相当于如下的while循环: initialize; while (test) { statement increment; } //死循环: while(true); for(;;);5.4 for-in
用来遍历对象属性;
语法:
for (variable in object) { // statement }
//将所有对象属性复制到一个数组中 var o = { x: 1, y: 2, z: 3 }; var a = [], i = 0; for (a[i++] in o); console.log(a.toString()); //x,y,z6 跳转 6.1 标签语句
语法:identifier: statement
var arr = [1,2,3]; mainloop: for (var i = 0; i < arr.length; i++) { console.log(arr[i]); if (arr[i] === 2) { break mainloop; //当arr[i]为2时结束循环 } };6.2 break语句
语法:break;或break labelname;
var arr = [1,2,3]; for (var i = 0; i < arr.length; i++) { if (arr[i] === 2) { console.log(arr[i]); break; } };
通过break来跳出非就近的循环体或者switch语句时,就会用到带标签的break语句
6.3 continue语句语法:continue;或continue labelname;
6.4 return语句语法:return expression;
6.5 throw语句语法:throw expression;
var x = 2; if (x !== 3) { throw new Error("no access."); //Uncaught Error: no access. }6.6 try/catch/finally语句
语法:
try { // statements } catch(e) { // statements console.log(e); } try { // statements } catch(e) { // statements console.log(e); } finally { // statements }
try { throw new Error("hello"); } catch(e) { console.log(e.message); //"hello" } finally { console.log("finally run"); //finally run }7 其他语句类型
with、debugger、use strict
7.1 with语句用于临时扩展作用域链
严格模式下禁止
7.2 debugger语句ECMAScript 5正式加入debugger,作用是产生一个断点
7.3 use strict语法:"use strict"
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/79048.html
摘要:简介原文链接简称是一种轻量级,解释型的编程语言,其函数是一等公民。标准的目标是让任何一种程序设计语言能操控使用任何一种标记语言编写出的任何一份文档。核心规定了如何映射基于的文档结构,以便简化对文档的任意部分的访问和操作。 JavaScript 简介 原文链接 JavaScript ( 简称:JS ) 是一种 轻量级,解释型 的编程语言,其函数是一等公民。众所周知,它是用于网页开发的脚...
摘要:在同一个块内,不允许用重复声明变量。中为新增了块级作用域。自带遍历器的对象有数组字符串类数组对象对象的对象等和结构对象。返回一个遍历器,使遍历数组的键值对键名键值。 目录 1.语法 2.类型、值和变量 3.表达式和运算符 4.语句 5.数组 6.对象 7.函数 8.全局属性和方法 9.词法作用域、作用域链、闭包 10.原型链、继承机制 11.this的理解 12.ES5新特性 13.E...
摘要:也毫不例外,但在中作用域的特性与其他高级语言稍有不同,这是很多学习者久久难以理清的一个核心知识点。主要使用的是函数作用域。 关于作用域:About Scope 作用域是程序设计里的基础特性,是作用域使得程序运行时可以使用变量存储值、记录和改变程序的状态。JavaScript 也毫不例外,但在 JavaScript 中作用域的特性与其他高级语言稍有不同,这是很多学习者久久难以理清的一个核...
摘要:系列文章核心概念本文浅尝最近因为工作上新产品的需要,让我有机会了解和尝试。这篇文章主要分享的是的核心概念,主要分为和四部分。再次强调,本文主要讲的是的核心概念,中所定义的类,都是设计类,并不是具体实现代码。 A query language created by Facebook for describing data requirements on complex applicati...
摘要:对象数组初始化表达式,闯关记之上文档对象模型是针对和文档的一个。闯关记之数组数组是值的有序集合。数组是动态的,根闯关记之语法的语法大量借鉴了及其他类语言如和的语法。 《JavaScript 闯关记》之 DOM(下) Element 类型 除了 Document 类型之外,Element 类型就要算是 Web 编程中最常用的类型了。Element 类型用于表现 XML 或 HTML 元素...
阅读 2334·2021-11-16 11:44
阅读 802·2021-09-10 11:16
阅读 2194·2019-08-30 15:54
阅读 909·2019-08-30 15:53
阅读 1853·2019-08-30 13:00
阅读 573·2019-08-29 17:07
阅读 3480·2019-08-29 16:39
阅读 3108·2019-08-29 13:30