JavaScript基本语句

基本概述

JavaScript是脚本语言,从上到下解释执行,最小单位为语句或语句块,每个语句以分号结尾,每个语句块以右大括号结尾。
JavaScript可以将多条语句或语句块放到同一行,如果每一行只有一句语句的话,结尾的分号可以省略,但强烈建议不要这么做!因为若是压缩代码,所有语句将处于同一行,没有分号分隔的话后果不堪设想!
a = "1234" // 这样是不会报错的,但不建议
b = "1234" a = "1234"; b = "1234"; // 加上分号,那么就可以将代码放到同一行

赋值语句

JavaScript的赋值语句和C的赋值语句很相似,即变量=值,左值必须是变量名,右值可以是直接量,表达式,或函数执行式
a = "1234";

如果是多个赋值语句串的话,则从右依次向左赋值,例如

a = b = "1234";

b = "1234";
a = b;
右值可以是一个表达式,例如
a = 5 + 5;

右值也可以是函数的返回值,例如

function add(num1, num2) {
return num1 + num2;
}
a = add(5,5);

注意,若函数没有返回值,则会赋值为undefined

函数执行式

同样的,和C类似,格式类似为:
函数名([参数1[, 参数2[, ...]]]);
参数可以是任意个,这个在后面的JavaScript函数中会讲到。但注意,这一句只表示执行,而没有赋值,即使函数有返回值,也不会得到保存。当然,函数的返回值同样可以作为参数
function add(num1, num2){
return num1 + num2
}
add(add(5, 5), 5); // 15

语句块

语句块的构成和C的是一样的,如下:
逻辑语句 {
    基本语句;
    基本语句;
    ……
    [控制语句;] // 循环语句或多分支语句
}
结尾不用分号。语句块没有属于自己的作用域(后面的进阶会讲到)
 

JavaScript逻辑语句

前面讲过,学过C的再学JS很容易。事实上,JS的常用语句和C基本一致。

条件语句

和C一模一样,这里就不再赘述了
  • if(condition) { statement; }
  • if(condition) { statement1; } else { statement2; }
  • if(condition1) { statement1; } else if(condition2) { statement2; } else { statement3; }

循环语句

有以下几种
  • for(init; condition; statement) { statements; }
  • while(condition) { statements; }
  • do { statements } while(condition)
  • for(var in object) {statements; }

前三个大家都懂,就不多说。最后一个在C里面是没有的,它表示罗列对象里的属性,或者是数组里的值。举个例子:

var array = [1,2,3,4];
for(a in array) {
console.log(a); // 1234
}

在对象中的例子:

var obj = {
attr1: "value1",
attr2: "value2"
}
for(attr in obj) {
console.log("value of "+ attr + " is: " + obj[attr]);
}

for.. in的用法跟Python的for .. in..、PHP的foreach的用法都很相近,应该也比较好理解。

循环控制语句有break,continue,label等等,label有违代码规范(和goto差不多),不多阐述,其他两个有过C基础的不难理解

多分支语句

for(var i = 0; i < 5; i++) {
switch(i) {
case 0: {
console.log("0");
break;
}
case 1: console.log("1");break;
default: console.log("not 0 or 1");break;
}
}

这种做法不陌生,我们在C中也可以这么做。不同的是,JS中,case后的部分可以是变量或字符串,而C中不行

还有一种用法比较新颖,实用性也比较强
for(var i = 0; i < 5; i++) {
switch(true) {
case below2(i): {
console.log("i<2");
break;
}
case between2To5(i): {
console.log("2 <= i < 5");
break;
}
default: break;
}
}
function below2(i) {
return i < 2;
}
function between2To5(i) {
return i >= 2 && i < 5;
}

这样就可以在switch语句中加入表达式了,能这么做的缘由是JS的多分支语句是判断switch的参数和case的部分是否全等。这样就等效于if(below2(i) === true)了。

JavaScript快速入门(三)——JavaScript语句的更多相关文章

  1. javascript快速入门10--运算符,语句

    一元运算符 一元运算符只有一个参数,即要操作的对象或值.它们是 ECMAScript 中最简单的运算符. delete 运算符删除对以前定义的对象属性或方法的引用.例如: var obj = new ...

  2. JavaScript快速入门(四)——JavaScript函数

    函数声明 之前说的三种函数声明中(参见JavaScript快速入门(二)——JavaScript变量),使用Function构造函数的声明方法比较少见,我们暂时不提.function func() { ...

  3. Web开发初探之JavaScript 快速入门

    本文改编和学习自 A JavaScript Primer For Meteor 和 MDN Web教程 前文 Web开发初探 概述 本文以介绍 JavaScript 为主,初学者掌握本文的内容后,将能 ...

  4. JavaScript快速入门-ECMAScript函数

    JavaScript函数(定义.参数.返回值.闭包.匿名函数) 一.函数定义 function functionName(arg0, arg1, ... argN) { statements } 函数 ...

  5. javascript快速入门3--分支判断与循环

    分支结构 单一选择结构(if) 二路选择结构(if/else) 内联三元运算符 ?: 多路选择结构(switch) var condition = true; if (condition) { ale ...

  6. javascript快速入门2--变量,小学生数学与简单的交互

    变量 对于变量的理解:变量是数据的代号.如同人的名字一样. var num;//在JavaScript中使用关键字var声明一个变量 在JavaScript中,使用上面的语法,就可以声明一个变量,以便 ...

  7. JavaScript快速入门(一)——JavaScript概览

    JavaScript是什么? JavaScript的诞生 在1995年前后,当时世界上的主流带宽为28.8Kbps,现在世界平均下载带宽为21.9Mbps(数据来源于http://www.netind ...

  8. JavaScript快速入门-BOM对象

    一.什么是BOM      概念 BOM(Browser Object Model)即浏览器对象模型.BOM提供了独立于内容,而与浏览器窗口进行交互的对象:      核心 由于BOM主要用于管理窗口 ...

  9. javascript快速入门1--JavaScript前世今生,HelloWorld与开发环境

    JavaScript历史 大概在1992年,一家称作Nombas的公司开始开发一种叫做C--(C-minus-minus,简称Cmm)的嵌入式脚本语言. Cmm背后的理念很简单:一个足够强大可以替代宏 ...

随机推荐

  1. ZOJ2971 Give Me the Number 【模拟】

    这道题目使用Map. 然后一次性遍历下来即可. QAQ 注意初始化的时候小心点不要错.. Source Code: //#pragma comment(linker, "/STACK:167 ...

  2. USACO Party Lamps 【Binary code solvution】【规律】

    写这道题目的时候遇到了一个令人诧异的问题,就是平台上跑来的结果和我本机跑起来的结果不一样. 后来Debug了之后才发现是我数组开小了,只开到100 的数组竟然都去访问他170位的地址肯定要跪成翔啊.. ...

  3. 《HTML 5网页开发实例具体解释》文件夹

    第一篇  从宏观上认识HTML 5 讲述了HTML 5引发的Web革命.HTML 5的总体特性.HTML 5相关概念和框架和开发环境搭建. 第1章 HTML 5引发的Web革命 1.1  你是不是真的 ...

  4. 网页制作之html基础学习3-css样式表

    样式:CSS(Cascading Style Sheets,层叠样式表),作用是美化HTML网页. 在样式里面用 /*  */ 进行注释. 1.样式表的基本概念 1.1.样式表分类 1.内联样式表 和 ...

  5. javascript每日一练(十四)——弹性运动

    一.弹性运动 运动原理:加速运动+减速运动+摩擦运动: <!doctype html> <html> <head> <meta charset="u ...

  6. Linux开机启动十步骤

    启动第一步--加载BIOS 启动第二步--读取MBR 启动第三步--Boot Loader 启动第四步--加载内核 启动第五步--用户层init依据inittab文件来设定运行等级 启动第六步--in ...

  7. Jquery moblie中的分栏布局

    大家好,很高兴又与大家见面了,今天我要给大家展示的是自己对jquery  moblie中网格布局的理解.可能不是尽善尽美,希望大家多多体谅! 在jquery moblie中有两种布局,一种是表格布局( ...

  8. 通过 HTTPS 和 SSL 确保 Windows Azure 网站 (WAWS) 安全

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 随着身份盗窃和各种形式的网络犯罪迅速增多,使用安全套接字层 (SSL) 对网站进行保护变得越来越 ...

  9. 理解js的prototype原型对象

    我们创建的每一个函数都有一个prototype(原型)属性.这个属性是一个指针,指向一个对象,而这个对象的用途是包括能够由特定类型的全部实例共享的属性和方法.假设依照字面意思来理解,那么prototy ...

  10. Bootstrap &quot;row&quot;类宽度超过问题

    问题原因: VOORBootstrap门格系统布局,类别col-xs-*身边有15px的padding,在这样的元素img我们希望展现的顶部边缘,这需要col-xs-*式:padding:0px; 如 ...