目录
- 系列文章
- 2、JSA语法
- 2.1、打印输出
- 2.2、注释
- 2.3、变量
- 2.4、数据类型
- 2.5、函数
- 2.6、运算符
- 2.7、比较
- 2.8、if else条件语句
- 2.9、for循环
- 2.10、Math对象(数字常用方法)
- 2.11、字符串常用方法
- 2.12、数组常用方法
系列文章
使用、工程、模块介绍
JSA语法
第三篇练习练习题,持续更新中…
2、JSA语法
2.1、打印输出
语法:在立即窗口输出显示括号内的东西
console.log()
示例1:
示例2:打印多个,可以用逗号分割
2.2、注释
语法:注释后的内容将不会被执行,一般情况下使用单行注释就够了。
单行注释:// 后面是内容
多行注释:/* 里面是内容 */
示例:
2.3、变量
语法:变量定义后可以被修改,常量定义后不可以修改。一般情况使用let就可以了,可以将let是var的高级用法,而const目前只需要了解即可
var:定义一个变量
let:定义一个变量
const:定义一个常量
区别:
let,const不能重复定义,var可以
const 在声明时必须被赋值,且值不能被修改
示例:
2.4、数据类型
2.4.1、数字number
2.4.2、字符串string
需要用英文引号包起来,双引号、单引号皆可。且将数字包裹时,那么该变量的数据类型也是字符串,而非数字。
2.4.3、布尔boolean
布尔值只有 true 和false
2.4.4、数组array
需要用英文中括号[]包起来,每个元素之间用英文逗号,分割,每个元素可以是数字、字符串、布尔、数组、对象、null、undefined、空。目前数组中一般只会用到数字、字符串。
数组无法直接打印输出,需要使用JSON.stringify
数组length:就是指数组中有几个元素
数组下标:下标从0开始,可以通过下标取出数组中指定的元素
2.4.5、对象object
需要用英文大括号包{}起来,每个元素由键值对组层,键值对之间由英文逗号,分割。键可以为数字、字符串,建议使用字符串,可以加引号也可以不加。值可以为数字、字符串、布尔、数组、对象、null、undefined、空。
数组无法直接打印输出,需要使用JSON.stringify
键的作用:可以通过对象.键或者对象[键]获取到对应的值
2.4.6、null
代表空,了解即可
2.4.7、undefined
代表定义未赋值,了解即可
2.5、函数
语法:即为宏的定义方式,函数名就是宏名
function 函数名() {
// 函数体
}
示例: aaa就是函数名,即宏名。大括号内的即函数体
2.6、运算符
2.6.1、+
数字与数字相加,求和。数字与字符串相加,为拼接。
2.6.2、-
数字与数字相减、数字与字符串数字相减,求差。数字与字符串相减,无法运算。
2.6.3、,/
乘除与减法相同。数字与数字乘除、数字与字符串数字乘除,求乘除。数字与字符串乘除,无法运算。
2.6.4、%
取余,同减、乘、除。
2.6.5、+=、-=、=、/=、%=
等同于自身运算后赋值给自身。
2.6.6、++、–
自增、自减。数字、字符串数字皆可。 ++ 等同于 += 1, – 等同于 -= 1。写在后面,先赋值再运算。写在前面。先运算后赋值。
2.6.7、!
取反,即!true等同于false,!false等同于true 。数字0等同于false,其他数字等同于true。
2.7、比较
2.7.1、==
判断两个变量是否相等,返回布尔值
2.7.2、===
判断两个变量的数据类型以及值是否相等,返回布尔值
2.7.3、!=
判断两个变量是否不相等,返回布尔值。与2.7.1相反
2.7.4、!==
判断两个变量的数据类型或值是否不相等,返回布尔值。与2.7.2相反
2.7.5、>,<,>=,<=
判断两个变量的值是否满足大小比较,返回布尔值
2.7.6、&& 与 ||
并且与或者,并且&&是两个都满足时才满足,或者||是只要满足一个就满足。
2.8、if else条件语句
语法1:
if (条件) {
// 满足条件 代码体1
} else {
// 不满足条件 代码体2
}
示例: wang > mi就是条件
语法2:
if (条件1) {
// 满足条件1 代码体1
} else if (条件2){
// 不满足条件1,满足条件2 代码体2
} else {
// 偶不满足 代码体3
}
语法3:
if (条件1) {
// 满足条件1 代码体1
}
语法4:
if (条件1) {
// 满足条件1 代码体1
if (条件2) {
// 满足条件1,满足条件2 代码体2
} else {
// 满足条件1,不满足条件2 代码体3
}
} else {
// 不满足条件1 代码体4
}
2.9、for循环
语法:
for (变量定义, 条件, 变量运算) {
// 满足条件
}
示例: i = 0就是变量定义, i < 4就是条件, i++ 就是变量运算。
break: 结束循环
示例:
continue: 跳过本次循环
示例:
2.10、Math对象(数字常用方法)
2.10.1、Math.max(a,b,c,…)
取一组数字(a,b,c,…)中的最大值
2.10.2、Math.min(a,b,c,…)
取一组数字(a,b,c,…)中的最小值,用法同上
2.10.3、Math.random()
随机生成0-1之间的一个小数
2.10.4、Math.abs(x)
取x绝对值
2.10.5、Math.ceil(x)
x向上取整
2.10.6、Math.floor(x)
x向下取整
2.10.7、Math.round(x)
x四舍五入
2.10.8、Math.exp(a)
e的a次后的值。比如E的2次写法如下
2.10.9、Math.round(a)
log以e为底a的值。log以e为底2的写法如下
2.10.10、Math.pow(x, y)
x的y次的值。2的3 次的写法如下
2.10.11、Math.sqrt(x)
x的平方根
2.10.12、x.toFixed(y)
数字x四舍五入保留y 位小数
2.11、字符串常用方法
2.11.1、toLowerCase()
将字符串转换为小写
2.11.2、toUpperCase()
将字符串转换为大写
2.11.3、indexOf(x)
获取指定字符x在字符串中第一次出现的位置。
下面例子中字符串AfdDd中d第一次出现是在第三个位置,计数是从0开始,所以输出2。
2.11.4、lastIndexOf(x)
获取指定字符x在字符串中最后第一次出现的位置。
下面例子中字符串AfdDd中d第一次出现是在第五个位置,计数是从0开始,所以输出4。
2.11.5、slice(start, end)
截取字符串从start开始,到end结束之间的内容。
下面例子中字符串AfdDd中从下标1开始截取,下标3结束。左闭右开区间,即下标1的字符f要截取,下标3的字符d不截取。
end可以省略,代表要从start开始截取至末尾
2.11.6、substring(start, end)
同上。
2.11.7、substr(start, length)
截取字符串从start开始,截取长度为length的内容。
下面例子中字符串AfdDd中从下标1开始截取,长度为3。左闭,下标1的字符f要截取。
length可以省略,代表要从start开始截取至末尾
2.11.8、split(x)
通过字符x将字符串分割为数组。
下面例子中字符串AfdDdc通过字符d分割后,arr的值就是[‘Af’,‘D’,‘c’],故而循环数组中可以输出Af、D、c
2.11.9、replace(str1, str2)
将字符串中第一次出现的str1替换为str2。
下面例子中字符串AfdDdcfda将第一次出现的字符fd这个整体替换为了0。
如果要实现全部替换将使用/内容/g来实现。
下面例子中字符串AfdDdcfda将所有的fd这个整体替换为了空,相当于删除了字符串中的fd这个整体。
2.12、数组常用方法
2.12.1、push(x)
向数组的末尾添加一个元素X
2.12.2、pop()
向数组的末尾删除一个元素
2.12.3、unshift(x)
向数组的头部添加一个元素x
2.12.4、shift()
向数组的头部删除一个元素
2.12.5、slice(start,end)
截取数组从start开始,到end结束之间的内容。
下面例子中数组[‘b’, ‘g’, ‘d’, ‘e’, ‘e’, ‘d’]中从下标1开始截取,下标3结束。左闭右开区间,即下标1的字符g要截取,下标3的字符e不截取。
end可以省略,代表要从start开始截取至末尾
2.12.6、splice(i,n,m,m,m,…)
从数组下标i开始,删除n个元素,然后添加元素m。
下面例子中数组[‘b’, ‘g’, ‘d’, ‘e’, ‘e’, ‘d’]中从下标1开始删除,删除3个,即删除了’g’, ‘d’, ‘e’,然后在该位置插入了’x’, ‘y’,所以最终数组变更为[‘b’, ‘x’, ‘y’, ‘e’, ‘d’]。
2.12.7、reverse()
将数组反转。
下面例子中数组[‘b’, ‘g’, ‘d’, ‘e’, ‘e’, ‘d’],反转后变更为了[‘d’, ‘e’, ‘e’, ‘d’, ‘g’,‘b’]
2.12.8、sort()
排序,默认从小到大排序。
下面例子中数组[‘ba’, ‘ad’, ‘aa’],排序时先按照第一个字母排序,第一个字母一样时再按照第二个,以此类推,所以排序后变更为[‘aa’, ‘ad’, ‘ba’]。数组[1, 3, 2]排序后变更为[1, 2, 3]。
如果想要得到从大到小的排序,在执行完sort方法后,再次执行上面的reverse方法即可。
2.12.9、concat()
将两个数组拼接。
下面例子中数组[‘ba’, ‘ad’, ‘aa’]与[1, 3, 2],拼接后得到新数组为[‘ba’, ‘ad’, ‘aa’,1, 3, 2]。
2.12.10、join(x)
将数组通过字符x拼接转换为字符串。