一. JavaScript引入方式
1. script标签内 : <script> JS代码 </script>
2. 引入外部js文件 : <script src="js文件名或位置"></script>
二. JavaScript语言规范
1. 注释 : ①. //单行注释
②. /*多行注释*/
2. 结束符 : JavaScript中的语句要以分号( ; )为结束符
3. 变量命名 : JavaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头.
※ : 变量名区分大小写, 推荐使用驼峰式规则, 保留字(关键字)不能作为变量名
4. 声明变量 : 使用 var 变量名 方式
三. JavaScript数据类型
1. JavaScript拥有动态类型 :
①. var x ; // typeof(x)为undefined
②. var x=1 ; // typeof(x)为number
③. var x = "haha" // typeof(x)为String
2. JavaScript数字类型不区分整型和浮点型 :
①. var a = 12.5; //typeof(a)为number
②. var b = 20; // typeof(b)为number
※. NaN表示不是一个数值(Not a Number) , 但是NaN本身是一个数值类型
③. 常用方法 :
i : parseInt("123") //返回123 含义 : 解析字符串返回一个整数数值
ii : parseInt("125.78") //返回125
iii : parseInt("asd") //返回NaN
iiii : parseFloat("123.45") //返回123.45
3. 字符串(String)
var a = "hello";
var b = "world";
var c = a + b; //字符串拼接一般使用 " + "
console.log(c); //结果 : helloworld
字符串方法 | 说明 |
.length | 返回字符串长度 |
.trim() | 移除字符串两端空格 |
.trimLeft() | 移除字符串左边的空格 |
.trimRight() | 移除字符串右侧的空格 |
.charAt( n ) | 返回索引为n的字符(空格算字符) |
.concat("字符串1","字符串2",.....) | 将原字符串和concat的参数拼接在一起 |
.indexOf("待查找序列",开始的索引位置) | 查找字符串内子序列的位置 |
.substring("开始索引位置","结束的索引位置") | 根据索引获取字符串内的子序列 |
.slice() | 切片 |
.toLowerCase() | 将字母变为小写 |
.toupperCase() | 将字母变为大写 |
.split() | 切割(和python用法相同) |
4. 布尔值(Boolean)
和python不同,true和false都是小写
var a = true;
var b = false;
""(空字符串), 0, null, undefined, NaN的布尔值均为false.
5. null和undefined
①. null表示的是空,一般在需要制定或清空一个变量时才会使用.
②. undefined表示当声明一个变量但是未赋值时,该变量的默认值是undefined.函数没有明确的返回值时,返回的也是undefined.
6. 数组
数组的作用是 : 使用单独的变量名存储一系列的值.类似于python中的列表
var a = [ 123,"abc" ];
console.log(a[1]); //返回abc
常用方法 :
数组方法 | 说明 |
.length | 数组的大小(长度) |
.push("字符") | 在数组的尾部追加元素,返回数组的大小(长度) |
.poo() | 删除一个元素(默认在尾部删除),返回被删除的元素 |
.unshift("字符") | 在数组的开始位置插入一个元素,返回数组的大小(长度) |
.shift() | 将头部的元素删除,返回被删除的元素 |
.slice() | 切片(和python用法相似) |
.reverse() | 将数组反转,在原数组基础上操作 |
.join("连接符号") | 将数组元素通过连接符号连接成为字符串 |
.concat("字符1/数组1","字符2/数组2",....) | 将字符/数组添加到数组内(默认添加到末尾) |
.sort() | 排序(根据元素的ASCII排序) |
.forEach() | 将数组的每个元素传递给回调函数 |
.splice(a,b,c) | 将索引为a~b的元素全部删除,并将c字符添加到a~b的索引位置 |
.map() | 返回一个数组元素调用函数处理后的值得新数组 |
四. 运算符
1. 算数运算符
+ - * / % ++(python中的+=) --(python中的-=)
2. 比较运算符
> >= < <= != == === !==
※. ==只判断数值是否相等 1 == "1" //true
※. ===判断数值和数据类型 1 === "1" //false
3. 逻辑运算符
&& || !
4. 赋值运算符
= += -= *= /=
五. 流程控制
1. if-else
var a = 10;
if (a > 5) {
console.log("yes");
}else{
console.log("no");
}
2. if-else if-else
var a = 10;
if(a>5){
console.log("a>5");
}else if(a<5){
console.log("a<5")
}else{
console.log("a=5")
}
3. switch
var a = 5;
switch (a) {
case 0;
console.log("a = 0");
case 1;
console.log("a = 1");
break;
case 2;
console.log("a = 2");
break;
case 3;
console.log("a = 3");
break;
case 4;
console.log("a = 4");
break;
case 5;
console.log("a = 5");
break;
}
※. switch中的case子句通常都会加break语句,否则程序会执行后续的case的子语句.
4. for
for ( var i=0;i<10;i++ ) {
console.log(i);
}
参数说明 : i=0 : i的初始值
i<10 : 限制i的范围
i++ : i=i+1
5. while
var i=0;
while (i<10) {
console.log(i);
i++;
}
6. 三元运算
var a = 1;
var b = 2;
var c = a > b ? a : b
说明 : 判断a是否大于b, 如果a > b 成立, c = a .如果a > b 不成立,c = b