ECMAScrip基础语法
var 声明变量
测试语句(相当于python的print)
console.log(变量名)→控制台输出内容,测试 alert(变量名)→弹出测试
typeof 检查当前变量是什么数据类型
数据类型
基本数据类型
数字:number (infinity也是数字类型,表示无穷大)
字符串:string,字符串拼接使用 +
布尔类型:boolean
空对象:null(undefined 未定义的)
引用数据类型
定义函数,相当于python中的def (Function)
字典:Object
列表:Array
日期:Date
比较运算符
比较值:==
比较值和类型:===
将数值转化为字符串
隐式转换
var n1 = 123; var n2 = '123'; var n3 = n1 + n2; console.log(typeof (n3));
强类型转化
var n1 = 123; var s1 = String(n1); console.log(s1); console.log(typeof (s1)); var n = 123; var s1 = n.toString() console.log(typeof (s1))
将字符串转化为数值
var s = '123www.aaa'; var n = Number(s); console.log(n);//NaN (not a number) console.log(typeof(n));//number
其他数据类型转化为布尔
var StringNum = '123abcde'; var Num2 = Number(StringNum); console.log(Boolean(Num2)); //false //Nan 类型的数字转换为布尔 结果是false
var a = 5/0; console.log(Boolean(a)); /true //Infinity 无穷大类型的数字转化为布尔 结果是true
var b; console.log(Boolean(b)); // 未赋值的变量转换为布尔结果会是false
a++ 与 +=a
var a = 1; var c = a++; //先赋值 再++ console.log(a); // 2 console.log(c); // 1
var a = 1; var c = ++a ; // 先++ 再赋值 console.log(a); // 2 console.log(c); // 2
流程控制
if else
var a = 200; if (条件){ 执行的语句; }else{ 执行的语句; }
else if
if (条件){ 执行的语句; }else if(条件){ 执行的语句; }else { 执行语句 ; }
while 循环
var i= 1; //初始化循环变量 while (i<10)//判断循环条件{ console.log(i); i+=1; //更改循环变量 }
switch
var gamescore = 'better'; switch(gamescore){ case'good': //case 表示一个条件,满足这个条件就会执行下边代码,遇到break跳出,终止循环, //如果不写break,会继续执行下边的代码,称为case穿透现象 console.log('玩的很好') break; case'better': console.log('玩的老牛逼了') break; case'best': console.log('恭喜你 吃鸡成功了') break; default: //相当于else console.log('很遗憾') }
数组array
数组的合并 concat()
将数组的内容用字符串链接 join(),形成一个新的字符串
数组转换为字符串toString
slice(start,end)返回数组中的一段,顾头不顾尾,相当于python中的切片
pop()移除数组的最后一个元素,返回pop移除掉的值
reverse()反转数组
sort()数组排序
isArray()检测是否为一个数组
var arr = [1,2,3]; arr = Array.isArray(arr); console.log(arr); //True
Date时间日期
创建一个时间对象
var date = new Date(); console.log(date); //Thu Sep 20 2018 19:35:20 GMT+0800 (中国标准时间)
var date = new Date(); console.log(date); console.log(date.getDate());//根据本地时间返回指定日期对象的月份的第几天 console.log(date.getMonth()); //月份 (0-11) console.log(date.getFullYear()); //年份 console.log(date.getDay()); console.log(date.getHours()); console.log(date.getMinutes());
日常用到的
var date = new Date(); console.log(date.toLocaleString());//2018/9/20 下午7:57:28
Math内置对象
Math.floor() 向下取整,成为地板函数
Math.ceil() 向上取整,成为天花板函数
Math.random () 取随机数,默认0-1之间的随机数,取两个数字之间的随机数公式(min+Math.random()*(max-min))
函数
函数声明
function add(a,b) { return(a+b) } //function 关键字 add 函数名 a,b形参 console.log(add(1,2));
Arguments伪数组
定义函数不加形参,调用时传入会传入到arguments,形成一个伪数组
function hao() { console.log(arguments); } hao(1,2,3,4);