JavaScript基础02-条件语句及介绍函数
条件语句
if 和 if - else 语句
if(你还没睡着么?){ 是
那我们去撸串~~~
}
当条件判断为真true时,执行花括号内的语句,如果条件为假false,跳过花括号内的语句
if(条件){
执行语句
}
if(你有对象么?){ 有
那你可以参加双人游戏
}else{ 否则
你可以参加多人游戏
}
if(条件){
执行语句1,为真时执行
}else{
执行语句2,为假时执行
}
switch语句/break关键字:
switch()多分支语句
注意:在switch()内,不会发生隐式数据类型转换
switch(){
case 0:alert("零");
break;
case 1:alert("一");
case 2:alert("二");
default:alert("不识别的数字");
}
switch()内,不会做判断,在case身上判断这个值是否符合。
switch()内,不能做判断,同时在case后也不能做条件判断,
注意:如果判定的是范围,不要使用switch语句;判定具体数据的时候,才使用switch
案例:判断星期几;判断成绩;
注意switch的应用场景:有多个 确定值 需要判断的时候
注意case语句的穿透,要加break语句:如果程序没有break语句,那么解析器会继续向下解析
注意default相当于if语句中的else,当以上条件都不满足的时候,执行default
循环
while循环和do-while循环的使用
while(条件){
执行语句
}
//当条件为true时,会一直重复执行花括号内的执行语句。注意:千万不要造成死循环
var i = 0; //计数器
while(i<10){ //停止的条件
document.write("hello world”);
i++; //改变计数器
}
//注意:为避免死循环,一定要在循环体内改变条件中使用的变量的值
do-while
do{
当条件为真,执行这里的语句
}while(条件){
当条件为假,执行这里的语句
}
当条件为真时,执行do的语句,当条件为假时,执行while的语句
do{
console.log("do的执行语句”);
i++;
}while(i<10){
console.log("while的执行语句");
}
注意do-while的改变计数器需要写在do语句中,否则会造成死循环。
while和do-while的区别?
do-while无论结果为真还是为假,都会执行一次
for(语句1;语句2;语句3){
需要执行的代码块
}
语句1:在循环体开始前执行----计数器
语句2:循环的条件--------停止的条件
语句3:在循环体被执行后执行---改变计数器
for(var i = 0; i < 10; i++){
console.log(1);
}
注意在for循环中语句之间用“;”隔开。
小技巧:在知道执行次数时用for,在无法判断循环次数时用while
for循环的嵌套
一般情况下,循环与循环之间是可以完成嵌套的。 例如,我们可以通过两个for循环的嵌套打印出一个直角三角形。
demo:
for(var i =0;i<9;i++){
console.log("one" + i);
for(var j = 0; j < i -1 ;j++){
console.log("two - "+j)
document.writeln("*");
}
document.write("<br/>");
}
死循环
循环主要根据我们设定的条件来判断是否要开启下一次循环过程。如果我们设定的循环的条件不合理的话,就会进入死循环
,代码进入死循环后,将一直陷入到死循环当中。
for(var i=0;i >=0 ;i++){
console.log('hello,world');
}
函数
通过关键字function声明
function fn(){}
其中:
function---为声明函数的关键字,指出这是一个函数
fn ------是函数的名称,类似于永来存储函数的变量
() ------为函数的参数,多个参数用 , 隔开
{} ------放置函数体,用于执行时,所要编译的代码段
通过变量赋值(未命名函数):
var fn = function(){}; 这种方式下,虽然这个函数没有名字,但是这个函数赋值给了fn,因此通过变量fn也能调用到这个函数 以上两种声明方式等价 都可以使用 函数名/变量名+() 调用执行
Function 构造函数
第三种方式是通过Function构造函数。
var fn = new Function(){};
函数重复声明
当在js代码中出现函数重复声明的情况(也就是函数名相同),那么后面的函数会把前面的函数给覆盖掉。
function fn1() {
console.log(1111);
}
function fn1() {
console.log(2222);
}
fn1(); //
函数提升
在js当中,函数存在函数提升的现象,类似于变量提升。在宿主环境执行代码的前一刻,会预先解析一次代码
,将代码中的变量声明和函数都提升到代码的最顶端。
也就意味着我可以在函数定义之前的任何位置调用后面才定义的函数。
return 语句
在js函数体内的return语句,表示返回。
JavaScript 引擎遇到return语句,就直接返回return后面的那个表达式的值,后面即使还有语句,也不会得到执行。也就是说,return语句所带的那个表达式,就是函数的返回值。return语句不是必需的,如果没有的话,该函数就不返回任何值,或者说返回undefined。
例如:
function fn1(){
var name = "zhangsan";
var age = 19;
return name + "今年" + age + "岁!";
}
如果函数内没有返回值,但是我们偏偏还来打印,那么结果将返回undefined。
递归函数
当函数发生在函数体内自己调用自己这样的情况时,这个函数我们就可以称之为叫做递归函数。
例如下面的demo,就是一个递归函数:
// 递归函数
function fib(num) {
if (num === 0) return 0;
if (num === 1) return 1;
return fib(num - 2) + fib(num - 1);
} console.log(fib(6)); //
在上面的demo中,通过递归函数计算了一下斐波那契数列。
上面代码中,fib函数内部又调用了fib,计算得到斐波那契数列的第6个元素是8。
函数的参数分为:形参和实参;
function fn(a){ //a为形参
console.log(a); //打印出123
}
fn(123); //123为实参 写在函数体内的参数称为形参,相当于该函数的某个变量,只不过不用var声明;需要遵循变量的命名方式。
调用时传递的参数为实参,相当于给变量赋值,可以传递所有数据
for(var i =0;i<9;i++){ console.log("one" + i); for(var j = 0; j < i -1 ;j++){ console.log("two - "+j) document.writeln("*"); } document.write("<br/>"); }
JavaScript基础02-条件语句及介绍函数的更多相关文章
- javascript基础02
javascript基础02 1.数据类型 数据类型的描述在上篇的扩展中有写到链接 由于ECMAScript数据类型具有动态性,因此的确没有再定义其他数据类型的必要.这句话很重要. 如果以后再数据类型 ...
- JAVA基础——Switch条件语句
JAVA基础——switch 条件语句 switch语句结构: switch(表达式){ case值1: 语句体1: break: case值2: 语句体2: break: case值3: 语句体3: ...
- Javascript关键字,条件语句,函数及函数相关知识
关键字 条件语句 作用域 回调 关键字 根据规定,关键字是保留的,不能用作变量名或函数名. 下面是一些ECMAScript关键字的完整列表. break ,case,catch,continue,de ...
- Python新手学习基础之条件语句——if/else语句
if/else语句 条件语句实际在前面的文章里我们已经使用过几次了,在这里我们需要再次隆重的来介绍一下它,条件语句是通过对一条或多条语句判断的返回结果(True或False)来选择执行下一步命令的,比 ...
- JavaScript基本语法 -- 条件语句 & 循环语句
条件语句 条件语句(Conditional statement)是JavaScript里面的基本结构之一,程序根据表达式的真假决定执行或者跳过某个分支,于是,条件语句有时候也可以称为"分支语 ...
- Python基础之条件语句和循环
条件语句 Python中的条件语句分为 if ...else . if ...elif...else 以及if ...else 的嵌套使用: username = input('请输入您的用户名:' ...
- [译]javascript中的条件语句
本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...
- js基础(条件语句 循环语句)
条件语句 if语句块的语法形式如下: //只有两种情况下if(条件){要执行的语句块;}else{要执行的语句块;} //多种情况下if(条件){要执行的语句块;}else if(条件){要执行的语句 ...
- VBS基础篇 - 条件语句
经常地,当我们编写代码时,我们需要根据不同的判断执行不同操作,我们可以使用条件语句完成这个工作. If...Then...Else 在下面的情况中,您可以使用 If...Then...Else 语句: ...
随机推荐
- git第一次上传push失败解决
第一次上传有可能会遇到push失败的情况,那是因为跟SVN一样,github上有一个README.md 文件没有下载下来 .我们得先 git pull --rebase origin master ...
- 英语insuraunce保险
中文名:保险 外文名:insurance或insuraunce 类型:保障机制,商业行为 作用:资金融通.损失补偿等 原则:分摊.代位.大数法则等原则 性质:契约经济关系 意义:市场经济条件下风险管理 ...
- git 学习笔记--Feature分支
软件开发中,总有无穷无尽的新的功能要不断添加进来. 添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合 ...
- 转:使用Goproxy解决golang.org模块无法下载的问题
原文https://studygolang.com/articles/22277?fr=sidebar 简介 Goproxy 中国完全实现了 Go 的模块代理协议.并且它是一个由中国备受信赖的云服务提 ...
- .NET Core微服务学习-DotNetty
DotNetty介绍: DotNetty是Azure团队仿照(几乎可以这么说)JAVA的Netty而出来的(目前已实现Netty的一部分),目前在Github上的Star有1.8K+, 地址:http ...
- C# vb .net实现装饰边框效果滤镜
在.net中,如何简单快捷地实现Photoshop滤镜组中的装饰边框效果呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第 ...
- 安卓自定义View基础 --坐标系,角度弧度,颜色
转自:https://www.gcssloop.com/customview/CustomViewIndex/ 1.坐标系 2.角度弧度 3.颜色 一.屏幕坐标系和数学坐标系的区别 由于移动设备一般定 ...
- MySQL数据库汇总
-- mysql的最大连接数:默认为 100 -- mysql的增删改查 -- mysql统计各个字段(case when 用法 注:也可以使用其他的) select (case when ...
- 【OEM】OEM安装维护
[OEM]OEM安装维护 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道 ...
- js计算两个时间差 天 时 分 秒 毫秒
// 计算两个时间差 dateBegin 开始时间 function timeFn(dateBegin) { //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了 var dateEnd = ...