外部js调用 用src 数据类型 数值 字符串 布尔值 undefined null object 用 typeof来检测数据类型 逻辑运算中 0,””,null,false,undefined,NaN都会判定为false 其他都是true
隐式转换 数字加字符串 数字转换成字符串 其他数据类型与数字运算都会转成数字 若字符串不是纯数字 则转换成NaN
比较运算符只会输出true 和false
Console.log(0 || 0)或运算 第一个操作数隐式转换为true是输出第一个 false 输出第二个
与运算 则相反
逻辑分支 if else , switch case break case break default, while,do while
循环结构 for 里边可以嵌套分支结构
break用于跳出代码块或循环
continue 用于立即终止本轮循环 返回循环结构头部 开始下一轮循环 他们都用在循环结构内部 一般和一个条件配合使用
函数有三种声明方式
1,Function 名字 (){
}
2,var function 名字 = function (){
}
3,构造函数 function
Var function 名字 = new function (){}
return 结束函数执行 函数返回值
预编译 执行前 会先扫描整个代码环境 将所有声明提升到当前环境的最顶端
1 生成一个ao对象
2 找到形参变量声明 把形参变量声明 变成ao对象里的一个属性名
3 形参 实参相统一
4 找函数声明 把函数声明的名作为 ao对象的属性名 把值赋过来
一切生命的全局变量都是window 的属性 函数内没var 的声明也属于全局变量
Arguments 用在函数内部 保存所有实参的一个集合
Arguments 【0】取到实参的第一位数字
Arguments.length表示实参个数
Arguments.[arguments.length-1]表示最后一个实参
数组
两种创建办法
1 字面量
Var arr=[1,2];数组中有两个元素
Arr.length;获取数组长度
Arr[i]; 获取数组中第i个元素 i为数组下标或者索引 下标从0开始
Arr[0]=100;修改数组中第一个数据为100;
2 构造函数创建
Array是一个构造函数 可以用它生成新的数组 (只有一个数值时表示数组长度 在后边有数值的话就是数组的元素 ){有缺陷 不同参数会导致它的行为不一致 不建议使用 }
数组的操作
Push 在数组末端加一个或多个元素 并返回添加后的数组长度 会改变原数组、
Pop 用于删除数组最后一个元素 并返回该元素值 显示添加后数组长度 对空数组
Push 和 pop 构成了后进先出的栈结构 (stack)
Shift 用于删除数组第一个元素 并返回该元素值
Push 和 shift 构成先进先出的 队列 结构
Unshift 用于在数组第一个位置添加元素 并返回该元素
Slice 和 splice
Slice用于提取数组中的一部分 返回一个新数组原数组不变 第一个参数为起始位置 第二个为终止位置不包含终止位置的数值 如果没有第二个则取到最后 若没有参数则返回数组的拷贝
参数为负数时表示倒数开始
若第一个参数大于等于数组长度 或则第二个参数小于第一个 则返回空数组
Splice 用于删除数组一部分可以再数组删除位置添加新数组成员 返回值是被删除的元素 会改变原数组
第一个参数是起始位置 (从0开始)第二个表示删除的个数 如果后边还有参数表示被插入的数组元素
如果只是单纯的添加数组 第二个参数为0 被添加的数组会被放到第一个参数声明的位数前面
如果只有一个参数 表示在指定位置把数组拆分成两个 输出后者
Reverse sort
Reverse 用于颠倒排列数组元素 并返回改变后的数组 会改变原数组
Sort 对数组成员进行排序 默认按阿斯托马值排列
若想让数组按自定义方式排列 可以传入一个函数作为参数
Sort (function(a,b){
Return a-b;//升序排列 没有小括号
})
Return b-a;降序排列
随机数 math.random() 的范围 [0,1)小数
If里边不能定义function
Parseint(n)!=number(n) 表示n这个字符串不是纯数字(正整数)时
Box.innerHTML= ;在页面写入
Console.log()控制台输出
Prompt()弹出输入框 alert 弹出警告框