一、 声明语句

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. C语言学习书籍推荐《C和指针 Pointers On C》下载

    <C和指针 POINTERS ON C>提供与C语言编程相关的全面资源和深入讨论.本书通过对指针的基础知识和高 级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去.  全书共18 ...

  2. 7.30考试password

    先说地球人都看得出来的,该数列所有数都是p的斐波那契数列中所对应的数的次幂,所以一开始都以为是道水题,然而斐波那契数列增长很快,92以后就爆long long ,所以要另谋出路,于是乎向Ren_iva ...

  3. 个人永久性免费-Excel催化剂功能第67波-父子结构表转换添加辅助信息之子父关系篇

    Excel作为一款数据领域的万物互联工具,连接一切外部的多种多样的数据源.将数据带到Excel的环境中,再进行数据处理.转换.统计分析等工作,是众多表哥表姐们每天都在经历的事情.能最快速将其他来源数据 ...

  4. 前端框架——树形结构Ztree的使用

    地址 官网:http://ztree.me 码云:https://gitee.com/zTree/zTree_v3 可以实现效果 使用方式 下载资源文件,引入到自己的项目中 <head> ...

  5. python中的字典,if_while使用

    1.定义两个字典用于表述你的个人信息 第一个字典存放你的这些信息:姓名.性别.年龄.身高第二个字典存放你的其他信息:性格.爱好.座右铭将两个字典合并为第三个字典之后,打印出来 觉得自己很年轻的,可以去 ...

  6. js数字格式化(截断格式化或四舍五入格式化)

    /*** * 数字格式化(适合金融产品截断小数位后展示) * @param num * @param pattern (标准格式:#,###.## 或#.## 或#,###00.00) * @para ...

  7. linux初学者-DDNS配置篇

    linux初学者-DDNS配置篇 如果DNS服务器要记录多台主机的IP,且这些主机的IP都是通过DHCPD服务自动获取的,那么将会造成很大的困难,因为在DNS设置时无法得知主机具体的IP.如果DHCP ...

  8. lr参数化

    为什么做参数化? 数据库校验:注册用户时会看数据库有没有这个账号 应用程序校验:pc端qq登陆,一个账号只能登陆一台电脑 1.数据库或应用程序提交值的唯一性校验 数据库查询过程: 1.语法检查.语义检 ...

  9. 一、PyTorch 入门实战—Tensor(转)

    目录 一.Tensor的创建和使用 二.Tensor放到GPU上执行 三.Tensor总结 一.Tensor的创建和使用 1.概念和TensorFlow的是基本一致的,只是代码编写格式的不同.我们声明 ...

  10. vue更改了数据但是视图却没有更新

    今日总结:让钩子函数背锅的一上午,跪求原谅 需求:页面刷新时,保留当前页面的选中状态 解决思路:在data里设置一下初始值,保证首次进入有默认选中状态,其次再操作时,把选中的状态存sessionSto ...