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);