day24-认识js
js是JavaScript的缩写,是web标准中的行为标准,负责页面上内容的变化
- js代码写在标签的事件相关属性中
- 写在script标签中,script标签可以出现在html中的任何位置
- 将js代码写在js文件中,然后在html中通过script标签来导入
js能做声明
- 修改或获取标签内容
- 修改标签的样式
- 修改标签属性
- 在网页中插入标签
js基础语法
js编程,和python一样属于脚本语言
- 注释:单行注释 // ; 多行注释:/* */
- 标识符:由字母,数字,下划线和$组成;数子不能开头;js中大小写敏感
- 关键字:例如:var,let,for,if,else,while,function,true,false等...
- 语句:一般一条语句占一行,一行结束后可以写分号也可以不写,如果一行里面有多条语句,语句之间必须写分号;js中没有行和缩进的要求
- 输出函数:
console.log()
- 常用的数据类型:数字,字符串,布尔,数组,函数,对象
- 数字(Number) - 所有的数字,包括整数,小数,正数,负数
- 字符串(String) - 用单引号或者双引号引起来的字符集,字符编码采用的是Unicode,也支持转义字符和编码字符;不支持python中的r/R语法
- 布尔(Boolean) - 只有true和false两个值
- 数组(Array) - 相当于python中的列表,[元素1,元素2,元素3,...]
- 对象 - 相当于python中字典和对象的结合
- 类型转换:类型名(数据) / parseFloat() - 将数据转换成小数 / parseInt - 将数据转换成整数
声明变量
语法1:变量名 = 值
在函数中声明变量的时候,如果没有关键字,这个变量是全局的,在函数外面也可以用
不管在什么位置声明,这个变量从声明开始到文件结束都可以用
语法2:var 变量名 = 值
声明变量的时候如果不给变量赋值,变量的值是undefined(关键字)
如果声明在函数中,那么只能在函数中使用;声明在函数外面,声明开始到文件结束都可以用
语法3:let 变量名 = 值
只要声明在{}中,出了{}就不能使用;声明在{}外面,声明开始到文件结束都可以用
注意:js采用驼峰式命名
声明常量
变量中保存的值可以修改;常量中保存的数据不能修改
const 常量名 = 值
注意:声明常量的时候,常量必须有初始值
运算符
js支持的运算符:数学运算符,比较运算符,逻辑运算符,赋值运算符,(位运算)
- 数学运算符:+.-,,/,%,* 和python一样
- 比较运算符:<,>,>=,<=,==,!=,===,!==
- ==,!= 比较值是否相等,不管类型
- ===,!== 比较两个数据是否完全相等
- 注意:js中不支持比较运算的连续写法,表示范围
- 逻辑运算符:逻辑与(&&),逻辑或(||),逻辑非(!)
- 赋值运算符:=,+=,-=,/+,%=,**=
分之和循环
分之结构:if和switch
if(条件语句){满足条件语句需要执行的代码段}
else if(){} else{}
switch语法:
switch(表达式){
case 值1:
代码段1
case 值2:
代码段2
case 值3:
代码段3
...
default:
代码段4
}
执行过程:先计算表达式的结构,然后让这个结果依次和每个case后面的值进行比较,如果哪个case后面的值和结果相等,那么就将这个case作为入口,依次执行后面每一个case后的代码段,执行到最后一个代码段或者遇到break为止;如果所有的case后面的值和结果不相等,就将default作为入口。
循环结构:for和while
js中的for循环:执行过程和python一样,区别是变量取到的不是序列元素而是元素对应的索引(可能是下标也可能是属性)
for(变量 in 序列){
循环体
}
表达式1
while(表达式2){
循环体
表达式3
}
字符串
js中字符串也是用单引号或双引号引起来的
获取单个字符:字符串[下标]
注意:下标范围是0 ~ 字符串长度-1; 如果下标越界不报错,结果是undefined
切片:字符串.slice(开始下标,结束下标
注意:开始下标能取到,结束下标取不到
相关运算
- 字符串可以和任何类型的数据相加,功能是字符串拼接
- 字符串不支持乘法运算
- 获取字符串长度:字符串.length
- 转字符串:String(数据) - 所有的数据都可以转换成字符串
数组
数组相当于python中的列表
切片:数组.slice(开始下标,结束下标)
增
数组.push(元素)
数组.splice(下标,0,元素) - 在指定的下标前插入指定元素
删
数组.pop() - 删最后一个元素
数组.splice(下标,个数) - 从指定下标开始,删除指定个数的元素