流程控制

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. 【Eclipse】Eclipse中修改项目的映射名称与端口

    1.正常部署(映射的名字为项目名字,端口为8080)

  2. 【转】jpeg文件格式详解

    JPEG(Joint Photographic Experts Group)是联合图像专家小组的英文缩写.它由国际电话与电报咨询委员会CCITT(The International Telegraph ...

  3. php伪协议

    文件包含函数:include.require.include_once.require_once.highlight_file .show_source .readfile .file_get_con ...

  4. 获取windows 网卡GUID和ip信息

    # coding: UTF-8 import _winreg GUID=dict() num = 0 netCfgInstanceID = None hkey = _winreg.OpenKey(_w ...

  5. windows下使用github

    1.首先到github.com注册用户: 2.下载git,地址:http://pan.baidu.com/s/1skPpWlB(64位下载):http://pan.baidu.com/s/1skOAa ...

  6. java的collection集合

    # 原创,转载请先留言 1.集合的由来 数组的长度是固定的,当需要增加或减少元素时需要对数组重新定义,太麻烦了.java内部给我们提供了集合类,能存储任意对象,长度可以改变的,随着元素的增加而增加,随 ...

  7. transition结合:after,:before实现动画

    div代码 <div class='div'> hover </div> css代码 .div{ width:200px; height:100px; line-height: ...

  8. 《深入浅出MyBatis技术原理与实战》——4. 映射器,5. 动态SQL

    4.1 映射器的主要元素 4.2 select元素 4.2.2 简易数据类型的例子 例如,我们需要统计一个姓氏的用户数量.应该把姓氏作为参数传递,而将结果设置为整型返回给调用者,如: 4.2.3 自动 ...

  9. 机器学习方法(六):随机森林Random Forest,bagging

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 前面机器学习方法(四)决策树讲了经典 ...

  10. hdu 2147(巴什博弈+NP图)

    kiki's game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 40000/10000 K (Java/Others)Total ...