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& ... 
随机推荐
- js_跑马灯
			跑马灯?刚听到这个词的时候,脑袋第一个想到的是跑马?嗯?就是香港的那种跑马场.懂?其次就是霓虹灯了,一闪一闪的多好看. 霓虹灯?哦,那是城市的杰作,记忆中是.开往城市边缘开,把车窗都摇下来,用速度换一 ... 
- Select 使用不当引发的core,你应该知道的
			排查一个死机问题,搞了好几天时间,最终确定原因:最终确定问题原因,在此分享一下: 第一步:常规根据core文件查看栈信息,gdb –c core xxxx 如下rip不正确,指令地址错乱,栈信息已破坏 ... 
- NOI2018游记&我的OI历程
			day1 今天是报到日,坐着早上9点的飞机到了长沙,午饭时间到达雅礼洋湖. 宿舍还是一模一样,虽然是在女生宿舍. wifi信号还是一样的德行,刻意避开了宿舍内,只好把手机放在窗台上开热点. 饭菜还是如 ... 
- linux子系统的初始化_subsys_initcall()【转】
			转自:http://my.oschina.net/u/572632/blog/305492 目录[-] 概述 section的声明 注册 调用 IN BUILDING 概述 内核选项的解析完成之后,各 ... 
- glob模块的使用
			glob模块 功能描述:glob模块可以使用Unix shell风格的通配符匹配符合特定格式的文件和文件夹,跟windows的文件搜索功能差不多.glob模块并非调用一个子shell实现搜索功能,而是 ... 
- iOS 适配/ autoLayout基本知识
			历史 iPhone3GS.iPhone4\4s:没有屏幕适配最早开发里面的程序全部都是写死的 iPad 旋转出来之后 Autoresizing问世iPhone5\5c\5s兼容各种不同的情况 系统适配 ... 
- Leetcode 之Largest Rectangle in Histogram(40)
			又是一道构思巧妙的题,暴力求解复杂度太高,通过构造一个递增栈来解决:如果当前元素小于栈顶元素,则说明栈内已经构成一个 递增栈,则分别计算以每个元素为最低值的面积:反之,则入栈. int largest ... 
- 【python】pip的使用
			来源:http://www.ttlsa.com/python/how-to-install-and-use-pip-ttlsa/ pip是用来安装python相关的包的.使用参数如下: # pip - ... 
- jenkins上展示html报告【转载】
			转至博客:上海-悠悠 前言 在jenkins上展示html的报告,需要添加一个HTML Publisher plugin插件,把生成的html报告放到指定文件夹,这样就能用jenkins去读出指定文件 ... 
- OpenCL与CUDA,CPU与GPU
			OpenCL OpenCL(全称Open Computing Language,开放运算语言)是第一个面向异构系统通用目的并行编程的开放式.免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计 ... 
