基础语法
//参数定义
var xxx = yyy;
//不写var就表示是全局变量
//不赋值就是undefined
注意for循环也是var i=0;
//不要尝试在script里面直接测试api,因为时序上你要引用的东西还没有生成
function clicksth{}
window.onload = clicksth;
//用点击事件,或者onload去触发函数来测试
如果要在script里面测试,确保script标签在body标签下面。
<body>
<canvas id="myCanvas"></canvas>
</body>
<script src="js/draw.js"></script>
函数
- 判断是否是数字
console.log(Number(333));//333
console.log(Number("123"));//123
console.log(Number("aaa"));//NaN
console.log(isNaN(1));//false 是否不是一个数字
console.log(isNaN("123"));//false
console.log(isNaN("aaa"));//true
- 字符串转整型
console.log(parseInt("1.23"));//1
- 字符串转浮点型
console.log(parseFloat("1.23456"));//1.23456
- 整型与字符串拼接为字符串
var str1 = 123 + "";
//实际上就是实现了整型变成字符串
- 打印日志
console.log("123")//输出在开发工具的console里
document.write("123");//输出在浏览器的底边栏
alert("123");//输出为浏览器的弹框
- 输入
var input = prompt(“请输入:”);
数组
- 数组转化为逗号拼接的字符串 String(Array)
var arr = new Array();
arr = [1,2,3,4,5];
console.log(String(arr));
//输出为"1,2,3,4,5"
- 指定字符拼接字符串 Array.join(str)
var arr = new Array();
arr[0] = 0;
arr[5] = 5;
console.log(arr.join(""));
//无缝拼接
//输出为"05"
arr.length -= 5;
arr[0] = "<img src='img/1.jpg'/>";
arr[1] = "<img src='img/2.jpg'/>";
console.log("<div>"+arr.join("</div><div>")+"</div>");
/*输出为<div><img src='img/1.jpg'/></div><div><img src='img/2.jpg'/></div>*/
- 数组本身的拼接 Array.concat(value1,value2…)
var arr1 = [0,1];
var arr2 = [5];
console.log(arr1.concat(2,3,4,arr2));//[0,1,2,3,4,5] 产生新数组
console.log(arr1);//[0,1] 不改变原数组
- 字符串截取 Array.sliced(startint,endint+1)
- 左包含右不包含
- 输出数组的子数组
- 选取到结尾可以省略第二个参数
- 距离结尾近可以用倒数,即负数
- 还可以复制数组,不写参数都可以
var arr = [1,2,3,4,5];
console.log(arr.slice(1,2));//[2]
console.log(arr.slice(2));//[3,4,5]
console.log(arr.slice(1,-2));//[2,3]
var arr2 = arr.slice();
console.log(arr2);//[1,2,3,4,5]
console.log(arr);//slice不改变原数组 [1,2,3,4,5]
- 字符串插入、删除,替换 Array.splice()
- 修改原数组
- Array.splice(startint,n) 删除从starti开始的n个元素,
- Array.splice(startint,0,value1,value2) 从starti开始插入元素
- Array.splice(startint,n,value1,value2) 从starti开始替换元素
var arr1 = [1,2,3,4,5];
var arr2 = ["a","b","c","d","e"];
//函数执行后返回它干掉的
//改变原数组
//1 删除
console.log(arr1.splice(2,1));//[3]
console.log(arr1);//[1,2,4,5]
//2 新增
console.log(arr1.splice(2,0,3));//由于是0,所以是新增,所以返回值为空数组 []
console.log(arr1);//在索引2的位置(之前)插入,被插入的就是将来的索引2
//[1,2,3,4,5]
//3 替换
console.log(arr1.splice(3,2,6,7));//[4,5] 输出被替换掉的数组
console.log(arr1);//[1,2,3,6,7]
- 倒置数组 Array.reverse()
var arr = [1,2,3];
console.log(arr.reverse());//[3,2,1]
console.log(arr);//原数组被改变
- 数组排序 Array.sort()
- 所有元素转字符串再排序
- 只排列字符串
var arr = [2,1,3];
console.log(arr.sort());//[1,2,3]
console.log(arr);//[1,2,3] 改变原数组
var arr2 = ["b","a","c"];//字符串比较
console.log(arr2.sort());//["a","b","c"]
var arr3 = ["23","20","58","7","33"];
console.log(arr3.sort());//["20", "23", "33", "58", "7"] 字符串字符的依次比较
var arr4 = [23,20,58,7,33];
console.log(arr4.sort());//[20, 23, 33, 58, 7] 仍然只是在比较字符串
定时器
- 周期性定时器
setInterval(function(){
console.log("Hello");},1000); //ms
- 一次性定时器
setTimeout(function(){
alert("恭喜过关");},3000);