javaScript基础-03 javascript语句
一、 声明语句
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语句的更多相关文章
- javascript基础03
javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...
- 2021年3月-第03阶段-前端基础-JavaScript基础语法-JavaScript基础第01天
1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌 ...
- JavaScript基础02-条件语句及介绍函数
条件语句 if 和 if - else 语句 if(你还没睡着么?){ 是 那我们去撸串--- } 当条件判断为真true时,执行花括号内的语句,如果条件为假false,跳过花括号内的语句 if ...
- javaScript系列 [03]-javaScript原型对象
[03]-javaScript原型对象 引用: javaScript是一门基于原型的语言,它允许对象通过原型链引用另一个对象来构建对象中的复杂性,JavaScript使用原型链这种机制来实现动态代理. ...
- javaScript基础-01 javascript语法结构
一.基础 字符集 JavaScript程序是用Unicode字符集编写的. .区分大小写 .空格.换行符和格式控制符 .Unicode转义序列 .标准化 二.类型.值和变量 JavaScript的数据 ...
- JavaScript基础4——关于语句流程控制(分支语句、循环语句等)
分支语句 (1)if...else...语句,基本格式分三种,如下 <script type="text/javascript"> var i=50; //if语句 i ...
- JavaScript基础——变量、语句、注释
一.变量的命名规则 1.变量名由数字.字母.下划线组成 2.变量名的首字母不能是数字,只能是字母或者下划线 3.不能使用关键字和保留字作为变量名 4.变量严格区分大小写,例如在JavaScript中o ...
- JavaScript基础-03
1. 条件判断语句 若条件成立才会执行,条件不成立则语句不执行: if语句 语法一: if(条件表达式) {语句} :true就执行,false不执行: 语法二: if(条件表达式) ...
- JavaScript基础03——函数的作用域及变量提升
1.作用域 作用域,变量在函数内部作用的范围/区域.有函数的地方就有作用域. 2.局部作用域和全局作用域 function fn(){ var a = 1; } console.log(a); / ...
随机推荐
- kuangbin专题 专题一 简单搜索 Prime Path POJ - 3126
题目链接:https://vjudge.net/problem/POJ-3126 题意:给你两个四位的素数N,M,每次改变N四位数中的其中一位,如果能经过有限次数的替换变成四位数M,那么求出最少替换次 ...
- 音频编辑器 OcenAudio v3.1.9.0 绿色便携版
下载地址:点我 基本介绍 ocenaudio是一款跨平台的,易于使用的,快速的,功能强大的,好用的音频编辑软件.该软件支持Virtual Studio Technology插件,美观.统一的跨平台界面 ...
- Java学习笔记之---面向对象
Java学习笔记之---面向对象 (一)封装 (1)封装的优点 良好的封装能够减少耦合. 类内部的结构可以自由修改. 可以对成员变量进行更精确的控制. 隐藏信息,实现细节. (2)实现封装的步骤 1. ...
- JavaScript权威指南第六版(阅读笔记)
前言: 对于软件行业学习是无止境的,因为知识更替非常快,能够快速稳固掌握一门新技术是一个程序员应该具备的基本素质. 了解一门语言,了解它的概念非常重要,但是一些优秀的设计思想需要细心和大量实践才能慢慢 ...
- ~~在python中踩过的坑以及问题~~(不断更新)
python说简单也不难,但是在这其中大大小小的点 真的是有够折磨人欸! 1. input 输入的时候,即使输入的是数字,数据类型也是字符串 2. 字符串本质上来看可以看作有序数组 3 ...
- Django工程的分层结构
前言 传统上我们都知道在Django中的MTV模式,具体内容含义我们再来回顾一下: M:是Model的简称,它的目标就是通过定义模型来处理和数据库进行交互,有了这一层或者这种类型的对象,我们就可以通过 ...
- SpringCloud-Alibaba-Sentinel(1)初探
Sentinel 是什么? Sentinel 具有以下特征: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围) ...
- 【题解】搬书-C++
搬书 Description 陈老师桌上的书有三堆,每一堆都有厚厚的一叠,你想逗一下陈老师,于是你设计一个最累的方式给他,让他把书 拿下来给同学们.若告诉你这三堆分别有i,j,k本书,以及每堆从下到上 ...
- springboot快速入门02--Controller编写和测试
02springboot快速入门--Controller编写和测试 1.新建一个HelloController import org.springframework.boot.SpringApplic ...
- C语言入门3-C语言概述及数据类型
一. 计算机程序设计语言 (计算机语言的发展历史) 1. 机器语言 机器语言 二进制代码语言,由 0和1组成的. 特点是:计算机可以直接识别,不需要进行任何的翻译. 2 ...