JavaScript介绍
-day01
文章目录
1.简称JS,
- 是一种浏览器解释型语言,嵌入到网页中由浏览器负责解析和执行,
由浏览器负责解析和执行,可以实现网页动态动态效果,用户交互,实现网络请求
或者游戏制作.
2.组成
- 1).核心语法(ECMAScript 5)
- 2).BOM(浏览器对象模型),提供操作浏览器窗口的方法
- 3).DOM(文档对象模型),提供操作HTML文档的方法
3.JS使用
- 1.元素绑定事件
- 事件:用户的行为或者元素的状态
- 事件处理:元素监听到事件发生后做出的响应
- 事件名称:onclick(单击事件) ondblclick(双击事件)
- 语法:将事件名称以标签属性的形式绑定到元素上
<h1 onclick="JS代码"></h1>
- 2.内嵌方式
- 使用书写JS语句
例:
标签可以书写在任意位置,书写任意多次,浏览器在解析
- 3.外链方式
- 1.创建外部的JS文件(.js),html文件中使用
<script src=""></script>引入,注意<script>即可实现内嵌,也可以实现外链,但是二选一
4.语法规范
1)JS代码区分大小写
2)JS语句可以使用;作为结束的标志,也可以省略
alert();
alert()
3).JS中注释
//单行注释
/*多行注释*/
- .输入语句
console.log() 控制台输出
alert("") 网页警告框
prompt("") 带输入的弹框
document.write("") 在网页中输入,动态向body标签中写入内容,可以识别标签语法
-
使用: 1.代码的书写位置即为添加位置 2.使用元素绑定事件的方式去动态添加,会造成页面重写(事件发生之前,body可能就加载完毕.)
4.JS技术语法
1.变量与常量
1.变量
- 1.用于存储在程序运行过程中随时可以修改的数据
- 2.使用var关键字声明变量
- 3.注意:
1.变量声明未赋值,默认为undefined
2.未声明未赋值会报错
3.声明变量时可以省略关键字,影响作用域
2.常量
- 1.一经定义就不能修改的数据
- 2.使用const关键字声明变量,通常 常量名采用全大写字母表示
命名规范:
自定义变量名,常量名,函数名或对象时.可以由数字,字母,下划线和$组成,
不允许以数字开头,不能与关键字冲突,尽量见名知意,多个单词组成时采用小驼峰表示(arr.forEach() / str.charAt() document.getElementByTagName())
2.数据类型
- 1.简单数据类型(值类型)
1.number
整数:可以使用十进制,八进制或者十六进制表示
2.string
字符串使用引号表示,会自动为每一位字符分配下标,每位字符都有自身的Unicode编码
3.boolean
布尔值,只有true/false
4.undefined
变量声明未赋值时默认时默认为undefined
5.null
空值,解除对象引用
- 2.引用类型:主要指对象(函数,内置类型,自定义的对象)
3.检测数据类型
typeof num;
typeof (num);
4.数据类型转换
- 1.强制类型转换
1.转换字符串
toString(),返回转换后的结果
2.转换number
1).Number(n),将变量n转换为number值,返回转换后的结果,如果变量中存在非number字符,一律转换失败,返回NaN (Not a Number)
2).parseInt(n)/parseFloat(n)
解析number部分,过程:
如果参数为字符串,将自动转换成字符串,逐位进行解析,对每一位字符进行转Number的操作,一旦解析失败,就停止向后解析,返回结果
3).转换布尔值
Boolean(n)将变量转换布尔值:
除"0"值以外,所有值都为真
"零"值:0/0/0 "underfined/NaN/null"
- 2.自动类型转换
1.字符串与其他数据类型进行"+"运算,一律为字符串拼接.将非字符串自动转换为字符串进行拼接.
2.其他情况下,一律转换为number参与数学运算
- 4.运算符
- 1).赋值运算符 =
- 2).数学运算符 + - * / %
- 3).复合运算符 += -= *= /= %=
- 4).自增或自减运算符 ++ –
在遍历自身值的基础上加1或者-1
使用:
1.单独与变量结合,做前缀或做后缀没有区别
2.与其他运算符结合使用时,前缀和后缀有区分,前缀就先++/--- 后缀就后++/--
- 5).比较运算符/关系运算
> >= < <= ==(相等) !=(不等) ===(全等)
1.关系运算的结果一定是布尔值
2.运算规则
1)字符串与字符串之间的比较,逐位比较字符的Unicode编码
2)其他情况下一律转换number进行比较,如果转换失败,变成NaN参与关系运算,结果一律为false