流程控制

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流程控制与函数的更多相关文章

  1. Javascript初识之流程控制、函数和内置对象

    一.JS流程控制 1. 1.if else var age = 19; if (age > 18){ console.log("成年了"); }else { console. ...

  2. Go语言学习之3 流程控制、函数

    主要内容: 1. strings和strconv使用2. Go中的时间和日期类型3. 指针类型4. 流程控制5. 函数详解 1. strings和strconv使用 //strings . strin ...

  3. Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)

    I:知识整理:变量.运算符.流程控制.函数.计划任务 变量 系统变量:set:显示所有变量                env:环境变量 常用系统变量: path pwd lang home his ...

  4. flutter--Dart基础语法(二)流程控制、函数、异常

    一.前言 Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,Flutter 开源.免费,拥有宽松的开源协议,支持移动.Web.桌面和嵌入式平台. ...

  5. javascript语法 1.运算符 2. 流程控制 3. 函数 4. 四种变量 5. 数据类型的运用 6. js页面交互

    1.运算符 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...

  6. js运算符、 流程控制 、函数、内置对象、BOM与DOM操作

    运算符 # 1.算术运算符 var x=10; var res1=x++; '先赋值后自增1' var res2=++x; '先自增1后赋值' # 2.比较运算符 弱等于:自动转换类型 '5' == ...

  7. JS运算符,流程控制,函数,内置对象,BOM与DOM

    运算符 1.算数运算符 运算符 描述 + 加 - 减 * 乘 / 除 % 取余(保留整数) ++ 递加 - - 递减 ** 幂 var x=10; var res1=x++; '先赋值后自增1' 10 ...

  8. javascript之流程控制 和函数的容易忽略点

    1.流程控制 1> for in  仅用于 对象的遍历: var box={ "name":'小红', 'age':18, 'height':165 }; for(var b ...

  9. JavaScript流程控制及函数

    1 流程控制 1.1 条件语句 分支结构 单向分支 if (条件表达式) { code...} 双向分支 if (条件表达式){    } else {    } <!DOCTYPE html& ...

随机推荐

  1. Win7(64bit)搭建SVN

    开始: 第一步:下载SVN客户端程序TortoiseSVN并安装(不习惯英文操作界面的顺便在最底下下载一个语言包),下载地址tortoiseSVN下载(由于系统是64位的,我下载的是TortoiseS ...

  2. face_recognition 人脸识别报错

    [root@localhost examples]# python facerec_from_video_file.py RuntimeError: module compiled against A ...

  3. LCD 每隔10分钟 自动熄灭 --打开Framebuffer console的时候【转】

    转自:http://blog.csdn.net/liujia2100/article/details/9009063 版权声明:本文为博主原创文章,未经博主允许不得转载. 之前移植LCD的时候,一切正 ...

  4. 用intellj 建一个spring mvc 项目DEMO

    spring的起初可能经常碰壁,因为网上的资料都是混乱的xml堆成的,混乱难以理解,我这个也是,阿哈哈哈哈! 新建一个Maven->create from archetype->org.j ...

  5. 【bzoj3786】星系探索

    ETT模版题. 真正的Eular-Tour-Tree维护的是树的欧拉序. 由于各种原因,没人知道怎么维护欧拉序,所以我写的是个假的,维护dfs序的. 本质还是用Splay维护序列. 然后因为我常数太差 ...

  6. 通过file中的字段查询MySQL内容

    # -*- coding: utf-8 -*- import MySQLdb with open(r"./user.txt", "r") as f: f.rea ...

  7. java web 资源文件读取

    前提:假设web应用test(工程名) webapps下面有一资源文件test.html 规则:在获取资源时一般使用的是相对路径,以符号/开头,而 / 代表什么取决于这个地址给谁使用.服务器使用时,/ ...

  8. Geoserver发布缓存切片(制定Gridsets)

    EPSG:4326 Level Pixel Size Scale Name Tiles   0 1: 2 x 1   1 1: 4 x 2   2 1: 8 x 4   3 1: 16 x 8   4 ...

  9. FineReport——JS二次开发(隐藏下拉框控件的倒三角)

    在对FR控件进行二次开发的过程中,需要自定义样式,比如下拉框控件带有自动检索的功能,但是又希望它的显示样式如同文本框一样,这时就需要隐藏多余的部分. 在对在线文档的查阅中可以发现很多选择器适用于多种控 ...

  10. 【python】msgpack使用

    1.存储数据 import msgpack var={'a':'this','b':'is','c':'a test'} with open('file.name','wb') as f: msgpa ...