一、 声明语句

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. java Springboot 生成 二维码 +logo

    上码,如有问题或者优化,劳请广友下方留言 1.工具类 import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHint ...

  2. Java 7 源码学习系列(二)——Enum

    Enum Enum类是java.lang包中一个类,他是Java语言中所有枚举类型的公共基类. 一.定义 public abstract class Enum<E extends Enum< ...

  3. 剑指offer第二版-9.用两个栈实现队列

    描述:使用两个栈实现一个队列.队列中实现尾部插入和头部删除函数. 思路:stack1负责插入,stack2负责弹出,如果stack2为空了,将stack1的元素依次弹出并存放到stack2中,之后对s ...

  4. android实现倒计时,最简单实现RecyclerView倒计时+SwipeRefreshLayout下拉刷新

    先上效果图: RecyclerView + SwipeRefreshLayout 实现倒计时效果 MainActivity.java package top.wintp.counttimedemo1; ...

  5. C#3.0新增功能06 对象和集合初始值设定项

    连载目录    [已更新最新开发文章,点击查看详细] 使用 C# 可以在单条语句中实例化对象或集合并执行成员分配. 对象初始值设定项 使用对象初始值设定项,你可以在创建对象时向对象的任何可访问字段或属 ...

  6. linux初学者-iptables篇

     linux初学者-iptables篇 iptables是防火墙的一种,是用来设置.维护和检查linux内核的IP过滤规则的,可以完成封包过滤.封包重定向和网络地址转换(NAT)等功能. iptabl ...

  7. Java中返回值定义为int类型的 方法return 1返回的是int还是Integer&&finally中return问题

    在Java中返回值定义为int类型的 方法return 1:中返回的是Integer值,在返回的时候基本类型值1被封装为Integer类型. 定义一个Test类,在异常处理try中和finally中分 ...

  8. bean的创建(五)第四部分 bean构造器的查找

    前面分析了bean的静态工厂查找 bean的构造器查找过程和bean的静态工厂查找类似 protected BeanWrapper createBeanInstance(String beanName ...

  9. Django使用本机IP无法访问,使用127.0.0.1能正常访问

    使用Django搭建web站点后,使用127.0.0.1能访问,但是用自己本机IP却无法访问. 我们先到Django项目中找到setting文件 找到——> ALLOWED_HOSTS = [] ...

  10. JAVA-Spring AOP五大通知类型

    一.前置通知 在目标方法执行之前执行的通知 在前置通知方法,可以没有参数,也可以额外接收一个JoinPoint,Spring会自动将该对象传入,代表当前的连接点,通过该对象可以获取目标对象和目标方法相 ...