阿铭学习day03
1.JavaScript(简称JS,一门跨平台、面向对象的脚本语言,是用来控制网页行为的,实现人机交互效果)
2.引入方式(两种)
- 内部脚本,将JS代码定义在HTML页面中
- 重点1:JavaScript代码必须位于<script></script>标签之间
- 重点2:在HTML文档中,可以在任意地方,放置任意数量的<script>
- 重点3:一般会把脚本置于<body>元素的底部,可改善显示速度
- 外部脚本,将JS代码定义在外部 JS文件中,然后引入到 HTML页面中
- 重点1:外部JS文件中,只包含JS代码,不包含<script>标签
- 重点2:引入外部js的<script>标签,必须是双标签
3.基础语法
- 书写规范
- 区分大小写:与 Java 一样,变量名、函数名以及其他一切东西都是区分大小写的 。
- 每行结尾的分号可有可无 【推荐要么全都写,要么全都不写,一般都写(同java)】。
- 大括号表示代码块。
- 三种输出语句
- 警告框输出:
- 在HTML中输出:
- 写入浏览器控制台(控制台按键盘F12键打开)
- 变量
- let:声明变量(JS是一门弱类型语言,变量是可以存放不同类型的值的。)
- 变量名规则1:组成字符可以是任何字母、数字、下划线(_)或美元符号($),且数字不能开头
- 变量名规则2:变量名严格区分大小写,如:name和Name是不同的变量
- 变量名规则3:不能使用关键字作为变量名,如:let、if、for等
- 变量名规则4:let不能重复声明同一个变量
- const:声明常量(一但声明,则不可以改变其值)
- var:声明变量(可以重复声明同一个变量,但不推荐使用var声明,一般都使用let)
- 数据类型(原始数据类型、引用数据类型)
- 原始数据类型(使用typeof获取对应变量的数据类型):
- number:数字(整数、小数、NaN(Not a Number))
- string:(字符串,单双引('...')、双引号("...")、反引号(`...`)皆可,正常使用推荐单引号)
- boolean:(布尔。true,false)
- null:(对象为空。 JavaScript 是大小写敏感的,因此 null、Null、NULL是完全不同的)
- undefined:(当声明的变量未初始化时,该变量的默认值是 undefined)
- 拼接字符串和变量:
- 运算符
- 运算符:
- 算术运算符:+ , - , * , / , % , ++ , --
- 重点:
- num++/num--(先用变量再+/-1)
- ++num/--num(先+/-1再用变量)
- 赋值运算符:= , += , -= , *= , /= , %=
- 比较运算符:> , < , >= , <= , != , == , === 注意 == 会进行类型转换,=== 不会进行类型转换
- 逻辑运算符:&& , || , !
- 三元运算符:条件表达式 ? true_value: false_value
- 类型转换(在某些运算被执行时,系统内部自动将数据类型进行转换,这种转换成为 隐式转换。)
- 字符串与数字
- +号两边只要有一个是字符串,都会把另外一个转成字符串。
- 除+号以外的所有算术运算符,都会把字符串转为数字类型
- 通过parseInt(...)函数,可以将一个字符串转为数字。
- 使用parseInt函数时需要注意的点:
- parseInt函数从字符串开始位置逐个字符解析,遇到第一个不能构成数字的字符时,就会停止解析,返回已经解析好的结果
- 当解析第一个字符就不是数字时,则直接停止解析,并返回NaN
- 其他类型转化为布尔类型
- Number:0和NaN转为false,其他都是true
- String:空字符穿为false,其他都是true
- Null 和 undefined :均转为false
- 流程控制语句
- if语句(if为关键字,当条件表达式结果为true时,才执行{}代码块内的代码)
- if...else语句(当条件表达式结果为false时,执行else后代码块里的代码)
- else...if语句(可有多个条件表达式)
- for循环(处理重复多次事件)