流程控制

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相同

最新文章

  1. PhoneGap/cordvoa如何添加Media插件
  2. unicode编码与utf-8 区别
  3. Senparc.Weixin.MP SDK 微信公众平台开发教程(五):使用Senparc.Weixin.MP SDK
  4. Mysql利用mysql_multi配置一台主机多个实例(转)
  5. CentOS系统将UTC时间修改为CST时间
  6. 12-24 关于UIScroView 控件的学习
  7. Ubuntu安装samba的问题
  8. [转] Tomcat 配置 SSL
  9. OpenGL ES 2.0 雾
  10. ThinkPHP文件上传类
  11. chart.js在html中画曲线图
  12. 【C和指针】笔记1
  13. 正则表达式获取body内容
  14. centos7忘记密码解决办法
  15. 转://Oracle 高可用技术与云基础架构
  16. JS 中对变量类型判断的几种方式
  17. 深度学习原理与框架-神经网络结构与原理 1.得分函数 2.SVM损失函数 3.正则化惩罚项 4.softmax交叉熵损失函数 5. 最优化问题(前向传播) 6.batch_size(批量更新权重参数) 7.反向传播
  18. 一个团队和他们的调查表-----(&quot;调查表与调查结果分析&quot;心得体会)
  19. Java-Runoob-高级教程-实例-环境设置实例:2.Java 实例 – Java 如何运行一个编译过的类文件?
  20. shortcut icon和icon代码的区别介绍

热门文章

  1. Python中的异常处理 -- (转)
  2. poj 2253 Frogger (dijkstra最短路)
  3. 自动化测试===requests+unittest+postman的接口测试
  4. 网站服务器压力Web性能测试(3):http_load:测试web服务器的吞吐量与负载
  5. 如何用jQuery获得radio的值
  6. docker基于本地模版导入创建镜像
  7. [ python ] 查询数据库生成Excel并发送邮件
  8. vue 组件中数据传递
  9. leetcode 之Set Matrix Zeroes(10)
  10. node-session