一. js程序流程
*顺序结构:从上到下执行的代码就是顺序结构
*分支结构:根据不同的情况,执行对应的代码
*循环结构:重复做一件事
分支结构
1. if语句
- if 如果表达式成立,TRUE,就会进入if里面的内容,表达式的结果肯定是布尔值
- if else 表达式成立TRUE进入if,反之进入else
- if else if .. else 适合连续区间的判断
2. 三元运算符
表达式1?表达式2:表达式3;
表达式1成立进入2反之进入3
3. 布尔值类型的隐式转换
- 转换成TRUE:非空字符串、非0数字、TRUE、任意对象
- 转换成FALSE:空字符串、0、FALSE、null、undefin
4. switch 语句
switch( 变量 )
case 常量1:;
break;
case 常量2:;
break;
case 常量3:;
break;
default:;
}适合等值判断
循环结构 (循环条件、循环体、循环的控制)
1. while 语句
当循环条件为TRUE是,执行循环体,反之结束循环
while( 循环条件 ){ 循环体 }
2. do...while 语句
不管条件成不成立,都会执行一次
do( 循环体 )while( 循环条件 )
3. for 语句
for( var i=0;i<10;i++ ){ 循环体 }
4. 循环嵌套
for( ){ for( ){ } }
5. continue和break
continue:跳出当前循环,进行下一个循环
break:结束当前循环
断点调试
* alert( )
* console.log( )
二. 常用内置对象
1. Math 对象
- 常用属性和方法
Math.PI//圆周率
Math.random()//生成[0,1)随机数
Math.floor()//向下取整
Math.ceil()//向上取整
Math.round()//取整,四舍五入
Math.abs()//绝对值
Math.max()/Math.min//最大值和最小值
2. Date 对象
- 常用属性和方法
var date = new Date(); 创建一个时间
date.valueOf() 获取距1970年1月1日起的毫秒数
getTime()//和valueOf() 结果一样
getFillYear()// 年
getMonth()// 月
getDate()// 日
getHours()// 小时
getMinutes()// 分钟
getSeconds()// 秒
3. 定时器
var set = setInterval( , 1000)
clearIntreval( set ) 清除
4. String 对象
- 常用属性和方法
字符串有不变性,需要赋值
*字符方法
charAt()//获取索引值上的字符
charCodeAt()//获取指定位置处字符的ASCII码
str[ 0 ]//和charAt()等效
*字符串操作方法
concat()//拼接字符串,等效与+
slice()//从start位置开始,截取到end位置,end取不到
substring()//从start位置开始,截取到end位置,end取不到
substr()//从start位置开始,截取length个字符
*位置方法
indexOf()//返回指定内容在原字符串中的位置
lastIndexOf()//从后往前找,只找第一个匹配的
*去除空白
trim()//只能去除字符串前后的空白
*大小写转换方法
to(Locale)UpperCase()//转换大写
to(Locale)LowerCase()//转换小写
*其他
search()
replace( x ,y) //将字符串中的第一个x更改成y
split()
fromCharCode()//把ASCII码转换成字符串
5. 数组及常用方法
数组做到了变量做不到的事,可以存放多个元素,长度可以动态的调整
new Array( )
var a = [ ];
- 常用属性和方法
instanceof 判断数组
length 数组长度
-数组常用属性方法
push()//在数组后面添加元素
pop()//删除并返回数组最后一个元素
splice( 索引值 ,删除几个,被替换的元素,替换的元素)
sort( (a,b)=>{ return a-b } )//排序 a-b升序,b-a降序
filter( function( item,index ){ return item<x} )//过滤数组中小于x的元素
-清空
arr=[ ];
arr.length = 0;
arr.splice( 0,arr.length )