js流程控制与函数
流程控制
1.条件语句 分支结构
单向分支
if (条件表达式){
code...
}
双向分支
if (条件表达式){
code...
}else{
code...
}
多向分支
if (条件表达式){
code...
}else if(条件表达式){
code...
}else{
code...
}
switch (条件表达式){
case 条件表达式可能的结果:code... break;
case 条件表达式可能的结果:code... break;
case 条件表达式可能的结果:code... break;
default code...
}
嵌套分支
if (条件表达式){
if (条件表达式){
code...
}
}else {
if (条件表达式){
code...
}
}
2.循环语句
while循环
while (){
//循环体
}
do...while循环
do{
//循环体
} while(循环条件)
for循环
for (变量定义;循环条件;变量变化){
//循环体
}
3.其他语句
跳转语句
continue; 跳出当前循环 继续下一次
break; 结束循环
return: 结束函数
异常
try{
code...
}catch(err){
}finally{
}
catch相当于python中的except
严格模式
//写在所有代码的最前面
//开启严格模式方法
'use strict'
- 严格模式下 声明不加var会报错
- eval() 在严格模式不能用
4.注意
- 当分支语句和循环语句的结构体{}内只有一行代码的时候,可以省略{}
函数
1.定义函数
//function 关键字方式
function 函数名(参数1,参数2){
code...
}
//表达式方式
var 函数名 = function(参数1,参数2){
code...
}
2.函数特点
- 函数名就是变量名
- 函数调用必须加()
- 关键字方式定义的函数,会存在函数提升(可以在函数定义前调用,而表达式方式只能在定义后调用)
3.函数的参数问题
形参和实参
- 实参数量>形参数量 多给的实参会被忽略
- 实参数量<形参数量 多出的形参,会使用默认值undefined
参数的默认值
//ES6 新增的语法
function demo(a,b=默认值){
code...
}
//有默认值的参数一定在后面
可变数量的参数
arguments对象 可以获取所有的实参
只能在函数中使用
arguments是类数组对象,用法同数组,可以使用for遍历循环
例:
function sum(){
for (var i=0;i<arguments.length;i++){
s += arguments[i]
}
return s;
}
4.return
- return 可以结束函数
- return返回值
- js return 只能返回一个值
2.5 回调函数(高阶函数)
- 函数的参数 还是 函数
list.sort()按字符串排序
list.sort(function(v1,v2){
return v1-v2
})
return值大于0时,v1与v2换位置
return值小于0时,v1与v2不换位置
2.6 自调函数
(function(){
})();
(function 函数名(){
})()
//如果多个自调函数连续写, 中间必须加 ; 否则报错
//产生局部作用域
//有效避免全局变量污染
2.7 递归
与python相同
js流程控制与函数的更多相关文章
- Javascript初识之流程控制、函数和内置对象
一.JS流程控制 1. 1.if else var age = 19; if (age > 18){ console.log("成年了"); }else { console. ...
- Go语言学习之3 流程控制、函数
主要内容: 1. strings和strconv使用2. Go中的时间和日期类型3. 指针类型4. 流程控制5. 函数详解 1. strings和strconv使用 //strings . strin ...
- Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)
I:知识整理:变量.运算符.流程控制.函数.计划任务 变量 系统变量:set:显示所有变量 env:环境变量 常用系统变量: path pwd lang home his ...
- flutter--Dart基础语法(二)流程控制、函数、异常
一.前言 Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,Flutter 开源.免费,拥有宽松的开源协议,支持移动.Web.桌面和嵌入式平台. ...
- javascript语法 1.运算符 2. 流程控制 3. 函数 4. 四种变量 5. 数据类型的运用 6. js页面交互
1.运算符 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...
- js运算符、 流程控制 、函数、内置对象、BOM与DOM操作
运算符 # 1.算术运算符 var x=10; var res1=x++; '先赋值后自增1' var res2=++x; '先自增1后赋值' # 2.比较运算符 弱等于:自动转换类型 '5' == ...
- JS运算符,流程控制,函数,内置对象,BOM与DOM
运算符 1.算数运算符 运算符 描述 + 加 - 减 * 乘 / 除 % 取余(保留整数) ++ 递加 - - 递减 ** 幂 var x=10; var res1=x++; '先赋值后自增1' 10 ...
- javascript之流程控制 和函数的容易忽略点
1.流程控制 1> for in 仅用于 对象的遍历: var box={ "name":'小红', 'age':18, 'height':165 }; for(var b ...
- JavaScript流程控制及函数
1 流程控制 1.1 条件语句 分支结构 单向分支 if (条件表达式) { code...} 双向分支 if (条件表达式){ } else { } <!DOCTYPE html& ...
随机推荐
- LCD实验学习笔记(九):UART
s3c2440包含三个通用异步收发器,可工作于中断模式或DMA模式.每个UART包含两个64字节的FIFOs用于接收和发送数据.可编程设置波特率.1或2个停止位,5/6/7/8个数据位和奇偶校验状态. ...
- [CTF技巧]批量连接SSH批量执行命令
https://files.cnblogs.com/files/nul1/autossh1.3.jar.zip 下载下来以后直接将后缀去除就好了. 比赛的时候可以批量写一个不死马然后你懂的. Linu ...
- Python模块学习 - pyinotify
pyinotify介绍 pyinotify模块用来监测文件系统的变化,依赖于Linux内核的inotify功能,inotify是一个事件驱动的通知器,其通知接口从内核空间到用户空间通过三个系统调用.p ...
- Python脚本 - 查询磁盘的读写次数信息
测试系统为:Centos 6.7 Python版本为: 3.6.4 脚本功能:查看指定磁盘的读写及时间等相关信息 #!/usr/bin/env python3 from collections imp ...
- Linux-进程间通信(N): 各种IPC的使用场景
1. 管道:只能用于具有亲缘关系的进行通信,使用面相对较窄,实际开发中较少使用: 2. FIFO(命名管道):可以用于任意进程间的通信,对于大块数据的传输效率较高,可应用于单进程大量数据传递,和多个进 ...
- 内存分配器memblock【转】
转自:http://blog.csdn.net/kickxxx/article/details/54710243 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 背景 Data ...
- 用intellj 建一个spring mvc 项目DEMO
spring的起初可能经常碰壁,因为网上的资料都是混乱的xml堆成的,混乱难以理解,我这个也是,阿哈哈哈哈! 新建一个Maven->create from archetype->org.j ...
- CNN中已知input_size、kernel_size、padding、stide计算output公式的理解
在进行卷积运算和池化的时候,对于输入图像大小为input_size,给定kernel_size.padding.stride,计算得出output_size为: output_size =1+ (in ...
- ASP.NET 163 smtp服务器响应为:User has no permission
1.问题引出 今天在asp.net程序中,利用System.Net.Mail.MailMessage类和网易163免费邮箱服务器发送邮件时出现了如下问题. 2.解决方案 原因很简单,我们在asp.ne ...
- JS监控手机或APP返回事件
做微信项目的时候,发现在Ios微信浏览器左上角有个返回按钮,但是点击返回时不稳定,跳到不该跳的页面.网上搜了一个捕获返回事件的JS代码,记录下来,便于以后查看. <span style=&quo ...