一、 声明语句

var和function都是声明语句。声明或定义变量或函数。

var

声明一个或者多个变量。语法如下:

 var a ;
var b = 1;
var c, d;
var e = 3; f = 5

如果var语句出现在函数体内,那么他定义的是一个局部变量。它的作用域就是这个函数。

如果在顶层代码中使用var语句,则声明的是一个全局变量。全局变量是全局对象的属性。var声明的变量无法通过delete删除的。

如果var定义的变量没有初始化表达式,那么这个变量的值初始化时undefined

function

关键字function用来定义函数

var f = function(x) {
return x+1
}
//将表达式赋值给一个变量
function(x) {
return x+1
}
//含有变量名的语句

函数声明语句通常只出现在JS代码的最顶层,也可以嵌套在其他函数体内。但在嵌套时,函数声明只能出现在所嵌套的顶部。不能定义在if语句,while循环或者其他任何语句中。

二、条件语句

if

if语句是一种基本的控制语句。举个栗子:

var age = 18
if(age < 19) {
console.log("123456")
}
// var life = 60;
if (life >= 70) {
console.log('233333') }else { console.log('--------')
}
//----------

三、循环语句

while

同jf一样是基本的控制语句。举个栗子:

var a = 0;
while(a < 10) {
console.log(a)
a++
}

do/while

do/while和while非常相似,只不过它是在循环的尾部而不是顶部检测循环表达式,这就意味着循环体至少会执行一次。举个栗子:

var text = ""
var i = 0;
do {
text += "<br>数字为 " + i;
i++;
}
while (i < 5) {
document.getElementById("demo").innerHTML = text;
}

for

for循环语句的语法如下:

for (initialize;test;increment) {
content
}
//initialize,test,increment 三个表达式之间用分号分隔,分别负责初始化操作、循环条件和计数器变量的更新

举个for循环的栗子(相信这个栗子大多数都能看的明白233333333):

//遍历0-9之间的数字
for ( var i = 0; i < 10; i++ ){
console.log(i)
}
//
//
//
//
//
//
//
//
//
//

for/in

for/in语句也是用for关键字。举个栗子:

var person = {
a:"John",
b:"Doe",
age:25
}; var text = "";
var x;
for (x in person) {
text += person[x];
} //person 是一个表达式,是一个对象

break语句

单独使用break语句的作用是立即退出最内层的循环或者switch语句。语法如下:

break;

attention: 在循环中,不论出现什么原因,只要不想继续执行整个循环,就可以用break来提前退出。

当循环终止条件非常复杂时,在函数体内使用break语句实现这些条件判断的做法要比直接在循环表达式中写出这个复杂终止条件的做法简单很多。

continue 语句

continue语句和break语句非常类似,但是它不是退出循环,而是转而执行下一次循环。

当执行到continue语句的时候,当前的循环逻辑就终止了,随即执行下一次循环,在不同类型的循环中,continue的行为也有所区别:

在while循环中,在循环开始处指定的expression会重复检测,如果检测结果为true,循环体会从头开始执行。

在do/while循环中,程序的执行直接跳到循环结尾处,这时会重新判断循环条件,之后才会继续下一次循环。

在for循环中,首先计算自增表达式,然后再检测test表达式,用以判断是否执行循环体。

在for/in循环中,循环开始遍历下一个属性名,这个属性名赋给了指定的变量。

continue语句在while和for循环中的区别:

while直接进入下一轮的循环条件判断,但for循环首先计算increment表达式,然后判断循环条件

return语句

return语句是指定函数调用的返回值。return语句的语法如下:

return;

return语句只能在函数体内出现,如果不是的话会报语法错误,当执行到return语句的时候,函数终止执行,并且返回expression的值给调用程序

function www(x) {
return x*x //一个包含return的函数 }
www(5); //结果为25

如果没有return语句,则函数调用仅次于执行函数体内的每一条语句直到函数结束

debugger语句

debugger通常什么都不做,然而,当调试程序可用并运行的时候,JS解释器将会(非必须)以调试模式运行。实际上,这条语用来产生一个断点(breakpoint)JS代码的执行会停止在断点的位置,这时可以使用调试器输出变量的值、检查调用栈等。

use strict

use strict是ECMAScript5引入的一条指令。目的是说明(脚本或者函数中)后续的代码将会解析为严格代码。

如果顶层使用了这个指令,那么既是严格模式。

严格模式和非严格模式的区别如下:

1 在严格模式中禁止使用with语句

2 在严格模式中,所有的变量要先声明

3 在严格模式中,调用的函数(不是方法)中的this值是undefined。(在非严格模式下,调用的函数中的this值总是全局对象),可以利用这种特性来判断JS实现时是否支持严格模式;

var hasStrictModel = (function () {
'use strict;
return this === undefined
}());

4 在严格模式中,当通过call()或者apply()来调用函数时,其中的this值就是通过call()或apply()传入的第一个参数(在非严格模式中,null和undefined值被全局对象和转换为对象的非对象值所代替)

5 在严格模式中,给只读属性和不可拓展的对象创建新成员都将抛出一个类型错误

javaScript基础-03 javascript语句的更多相关文章

  1. javascript基础03

    javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...

  2. 2021年3月-第03阶段-前端基础-JavaScript基础语法-JavaScript基础第01天

    1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌 ...

  3. JavaScript基础02-条件语句及介绍函数

    条件语句 if  和  if - else  语句 if(你还没睡着么?){ 是 那我们去撸串--- } 当条件判断为真true时,执行花括号内的语句,如果条件为假false,跳过花括号内的语句 if ...

  4. javaScript系列 [03]-javaScript原型对象

    [03]-javaScript原型对象 引用: javaScript是一门基于原型的语言,它允许对象通过原型链引用另一个对象来构建对象中的复杂性,JavaScript使用原型链这种机制来实现动态代理. ...

  5. javaScript基础-01 javascript语法结构

    一.基础 字符集 JavaScript程序是用Unicode字符集编写的. .区分大小写 .空格.换行符和格式控制符 .Unicode转义序列 .标准化 二.类型.值和变量 JavaScript的数据 ...

  6. JavaScript基础4——关于语句流程控制(分支语句、循环语句等)

    分支语句 (1)if...else...语句,基本格式分三种,如下 <script type="text/javascript"> var i=50; //if语句 i ...

  7. JavaScript基础——变量、语句、注释

    一.变量的命名规则 1.变量名由数字.字母.下划线组成 2.变量名的首字母不能是数字,只能是字母或者下划线 3.不能使用关键字和保留字作为变量名 4.变量严格区分大小写,例如在JavaScript中o ...

  8. JavaScript基础-03

    1. 条件判断语句 若条件成立才会执行,条件不成立则语句不执行: if语句 语法一: if(条件表达式) {语句}          :true就执行,false不执行: 语法二: if(条件表达式) ...

  9. JavaScript基础03——函数的作用域及变量提升

    1.作用域 作用域,变量在函数内部作用的范围/区域.有函数的地方就有作用域.   2.局部作用域和全局作用域 function fn(){ var a = 1; } console.log(a); / ...

随机推荐

  1. Windows系列和office系列通用激活工具KMSAuto

    Windows系列和office系列通用激活工具KMSAuto KMSAuto 是一款俄罗斯人 Ratiborus 制作与设计开发的能够批量激活大客户授权版本的微软 Office 办公套件以及 Win ...

  2. Greenplum客户端访问控制

    1. 问题描述 Greenplum默认是对客户端不开放的,即客户端要访问Greenplum数据库,需要首先开通权限. 2. 解决方案: 2.1.安装greenplum-cc-web控制台. ​ Gp的 ...

  3. 神经大条的我-->记录我那些容易忘记的知识点

    1.springmvc中每次进来的request都是保存在ThreadLocal里的,所以不会存在线程问题.可以直接用@Autowired全局注入  参考地址:https://my.oschina.n ...

  4. Java操作文件

    import java.io.File; import java.io.IOException; import java.nio.file.*; import java.nio.file.attrib ...

  5. Eclipse中Cannot nest src folder解决方法

    错误示例: : Java Model Status [Cannot nest output folder 'xxx/bin/main' inside output folder 'xxx/bin'] ...

  6. 史上最全IO流详解,看着一篇足矣

    一:要了解IO,首先了解File类 File类里面的部分常量,方法 No. 方法或常量 类型 描述 1 public static final String pathSeparator 常量 表示路径 ...

  7. springMVC保存数据到mysql数据库中文乱码问题解决方法

    1.web.xml中添加过滤器 <filter> <filter-name>CharacterEncodingFilter</filter-name> <fi ...

  8. CentOS7源码安装Nginx

    系统平台:腾讯云服务器 CentOS 7.3 64位 一.安装编译工具及库文件 [root@VM_0_5_centos ~]# yum install -y make zlib zlib-devel ...

  9. LeetCode 448. Find All Numbers Disappeared in an Array找到所有数组中消失的元素

    题目 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次. 找到所有在 [1, n] 范围之间没有出现在数组中的数字. 您能 ...

  10. HelloDjango 系列教程:创建 Django 博客的数据库模型

    文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 设计博客的数据库表结构 博客最主要的功能就是展示我们写的文章,它需要从某个地方获取博客文章数据才能把文章展示出来,通常来说这个 ...