基本语法
1、大小写敏感
2、变量的声明需要第一个字符不能用数字,最好使用驼峰命名法
3、声明变量,一般用var
或者let
或者const
。但是需要注意的是js中的变量类型是松散的,也就是我可以先给a赋值一个字符串,又可以给a赋值一个数字
比如如下代码:
var tmp = "chy";
console.log(tmp);//chy
tmp = 123456;
tmp+=2;
console.log(tmp);//123458
操作符
1、一元操作符: ++
:自己+1 --
:自己-1
2、布尔操作符:&&
且的意思 ||
或的意思
3、算数运算符: + - * / %
4、关系操作符:== >=
<= != ===
5、条件操作符: ?
比如如下代码:
var a = 1;
console.log(a++);//1
console.log(a);// 2
console.log(++a);// 3
var flag = (1==1);
console.log(flag);//true
console.log(flag && (1==0));//false
a = 1;
var b =2;
var minV = (a > b) ? a:b
console.log(minV);//2
语句
语句包含 if、if else、do while 、while、for、break、continue
等等
数组的遍历
let arr = new Array("chy","qige","cqjtu","pojo")
//普通遍历
for(let i = 0;i<arr.length;i++) console.log(arr[i]);
//for-in遍历
for(let i in arr){//针对的是下标
console.log(arr[i]);
}
//for-each
arr.forEach(e => {//针对的是数组中的元素
console.log(e);
});
//for-of
for(let e of arr){//针对的也是元素
console.log(e);
}
函数
函数就是对某些语句的封装,提高语句的重用率,使得结构更加清晰
如下代码:
function getSum(a,b){
return a+b;
}
console.log(getSum(1,2));//3
console.log(getSum(1));//NaN
console.log(getSum(1,'5'))//15
对象
对象就是数据和方法的集合
比如如下代码:
var person = new Object();
person.name = "chy";
person.age = 18;
person.printPerson=function(){
console.log(person);
}
var student = {
name: "chy",
age: 18,
score: 99.5,
sayHi: function(){
console.log(student);
}
}
console.log(person);//{ name: 'chy', age: 18, printPerson: [Function (anonymous)] }
console.log(student);//{ name: 'chy', age: 18, score: 99.5, sayHi: [Function: sayHi] }
数组
数组是js中非常常用的数据类型,而js中的数组可以将多种数据夹杂在一起,但是这样并不好
数组声明
var arry1 = [12,"chy",3.14,'a'];
var arry2 = new Array(12,"chy",3.14,'a');
console.log(arry1);//[ 12, 'chy', 3.14, 'a' ]
console.log(arry2);//[ 12, 'chy', 3.14, 'a' ]
数组常用方法
//push、pop、unshift、shift
var funArr = [12,23,2,7];
funArr.push(9);//push是加在尾部(队列)
console.log(funArr);//[ 12, 23, 2, 7, 9 ]
funArr.unshift(9);//unshift是加在头部(栈)
console.log(funArr);//[ 9, 12, 23, 2, 7, 9 ]
funArr.pop();//弹出尾部元素(出队列)
console.log(funArr);//[ 9, 12, 23, 2, 7 ]
funArr.shift();//弹出头部元素(出栈)
console.log(funArr);//[ 12, 23, 2, 7 ]
//翻转
funArr.reverse();//翻转元素,针对自己
console.log(funArr);//[ 7, 2, 23, 12 ]
//切片
console.log(funArr.slice(1));//从下标为1到末尾切片
console.log(funArr.slice(1,3));//从下标为1到下标为2(2个元素)
console.log(funArr.slice(1,1));//空数组
//splice删除元素
funArr.splice(1,2)//删除下标为1的连续的两个数据(也就是删除下标为1,2的元素)
闭包
闭包就是在访问在函数中的局部变量
如下代码:
//闭包
function biBao(age){
let name = "chy";
return function(){
console.log(name+' is '+age+' years old');
}
}
let fun = biBao(18);
fun();// chy is 18 years old