一、基础语法
1.注释
// 单行注释,注释前加两个斜杠
/* 多行注释
第二行
第三行
*/
2.标识符
由数字、字母、下划线和$组成,数字不能开头,命名一般不用$符号,$符号有特殊功能
*3.关键字
for,in,while,if,else,true,false,var,function等,有特殊功能的标识符都是关键字
4.数据类型和字面量
a.类型和字面量
Number(数字)、String(字符串)、Boolean(布尔)、Array(数组)、Object(对象)、function等
Number - 表示所有的数字, 23,12,45,支持科学计数法,NaN(不存在的数字),Infinity(无穷大)
String - 表示所有字符串,用单引号或者双引号, 'abc'、'adds'
Boolean - true和false两个值
Array - 相当于pyhton中的列表;[23,'gfgf']
Object - 相当于python中的字典+对象;(属性名:属性值, 属性名2:属性值2...)属性值可以是任何类型
注意:属性名可以使用引号,也可以不使用引号
Function - 相当于python中的函数
b.类型转换和查看类型
查看类型:typeof(数据)
类型转换:类型名()
二、变量
1.基本语法
格式1:变量名 = 值
格式2:var 变量名 = 值
//单独声明一个变量
name = '小明'
var name2 = '小红'
console.log(name, name2)
//同时声明多个变量赋一样的值
a = b = c = 10
console.log(a,b,c)
//同时声明多个变量赋不一样的值;
//注意:使用var声明变量的时候,可以不用给变量赋初值,默认是undefined
a1=10, b1=20
console.log(a1,b1)
var a1, b=10, c2
console.log(a2, b2,c2)
三、运算符
js支持:数学运算符、比较运算符、逻辑运算符、位运算符
1.数学运算符:+,-,,/,%,++,--(和python比,少了//和*,多个++和--)
//+,-,*,/,%和python一样
//++(子加1),--(子减一)
//变量++,++变量 - 让变量自己的值加1
//变量--,--变量 - 让变量自己的值减1
num = 10
num++ //相当于num += 1
num-- //相当于num -= 1
console.log(num)
num1 = 10
// 先赋值,再加1
num2 = num1++
// 先加1再赋值
// num22 = ++num11
// console.log(num2, num22)
2.比较运算符:>,<,>=,==,!=,===.!==
==判断值是否相等,!=判断值是否不相等
===判断值和类型是否相等,!==判断值和类型是否不相等
console.log(5==5) //true
console.log(5=='5') //true
console.log(5===5) //true
console.log(5==='5') // false
3.逻辑运算符:&&(逻辑与)、||(逻辑或)、!(逻辑非)
运算规则和python一样
4.赋值运算符:=,+=,-=,*=,/=,%=
运算规则和python一样
5.位运算符:&,|,~,^
运算规则和python一样
6.复合运算和python一样
7.三目运算符
?: - 条件语句?值1:值2 (条件语句成立,结果是值1,否则是值2)
age = 10
console.log(age>18?'成年':'未成年')
四、分支
js中的分支结构:if语句、switch语句
1.if语句
if结构:
if (条件语句){
条件语句成立执行的代码段
}
if-else结构:
if(条件语句){
条件语句成立执行的代码段
}else{
条件语句不成立执行的代码段
}
if-else if -else:
if(条件语句1){
条件语句1成立执行的代码段
}else if(条件语句2){
条件语句2成立执行的代码段
}else{
前面的条件语句都不成立执行的代码段
}
num = 11
if (num%2 == 0){
console.log('偶数')
}else{
console.log('奇数')
}
2.switch语句
switch(表达式){
case 值1:{
代码段1
}
case 值2:{
代码段2
}
case 值3:{
代码段3
}
default:{
代码段4
}
}
注意:case后面的{}可以省略,代码段也可以没有
执行过程:先计算表达式的结果,然后从上往下一一和每个case后边的值进行比较,判断是否相等;找到第一个和表达式的结果相等的case,然后将这个case作为入口,然后执行后面的所有代码段,直到执行到最后一个代码段或者遇到break才结束,如果表达式的结果和每个case的值都不相等,将default作为入口
注意:default一般放在最后
五、循环
1.for循环
python中for-in结构
语法:
for(变量 in 序列){
循环体
}
注意:不管序列是什么类型,这个变量取得都是下标/属性名(key)
str1 = 'abc'
for(index in 'abc'){
console.log(index, str1[index])
}
array1 = [100, false, 'abc', [1,2,3]]
**c中for循环结构
语法:
for(表达式1;表达式2;表达式3){
循环体
}
执行过程:先执行表达式1,再判断表达式2是否为true,如果为true,执行循环体,执行完循环体后,执行表达式3,再判断表达式2是否为true,直到判断表达式2不满足条件为止
2.while循环
python中的while循环
语法:
while(条件语句){
循环体
}
C中的do-while
语法:
do{
循环体
}while(条件语句)
执行过程:会先执行一次循环体,然后再去判断条件语句是否为true(无论条件语句是否满足,至少都会执行一次循环体)
六、函数
语法:
function 函数名(形参列表){
函数体
}
说明:
1. 不支持关键字参数
2. 不支持不定长参数
3. 不支持多个返回值
function sum(x,y){
console.log('函数体',x,y)
return x+y
}
sum(10,20)
函数变量:声明函数即声明类型是Function的变量
匿名函数:不需要变量名的函数
注意:如果 函数体中没有return,函数的返回值是undefined
语法:
function(参数列表){
函数体
}