1.什么是JavaScript?
JavaScript是一个面向对象的跨平台脚本语言
面向对象:
跨平台:Windows/Linux/Unix/Android/IOS
脚本:JS代码必须嵌入HTML中才能执行,凡是不能独立执行需要依赖其他程序的,叫做脚本。
1.HTML、CSS、JavaScript之间的关系
HTML定义了结构
CSS定义样式
JavaScript则定义了行为
2、JavaScript能做什么?
网页特效,网页游戏等等
3、JavaScript的组成
JavaScript包括ECMAScript、BOM、DOM
ECMAScript:一种由ECMA通过ECMA-262标准化的脚本程序设计语言
BOM(Browse Object Model):浏览器对象模型,提供与浏览器交互的方法和接口
DOM(Document Object Model):文档对象模型,提供访问和操作网页内容的方法和接口
4、编写JS以及如何运行JS
JS有两种方式在HTML页面中引入,一种是外联JS,一种是内部JS
4.1外联的写法
通过<script src=”相对路径”></script>
4.2内部JS
将JavaScript代码写入到<script></script>标签中
注:语法规范要求我们将script标签写入到head标签中
4.3 向页面中输出内容
document.write(“这是一些内容”);
注意:
1、标签的解析,document.wirte()可以解析标签
document.write(“<strong>some texts</strong>”)
2、转义字符
<左尖括号
>右尖括号
4.4 alert
alert()的使用,停止浏览器加载代码
浏览器解析代码的顺序,从上到下,从左到右
4.5 JavaScript的注释
单行注释//
多行注释/**/
4.6<script></script>标签的属性
src 表示要引入的外部文件的路径
type 表示脚本语言的类型
5 常量VS变量
5.1常量
常量:值不可以被改变的量叫做常量
直接量(字面量):在程序中直接显示出来的数据
100//数字字面量
“Hello”字符串字面量
False 布尔字面量
数据类型:基本数据类型Number、String、Bool
复合数据类型
特殊数据类型(null、undefined、NAN)
5.2 变量
变量:值可以被修改的量叫做变量
程序从磁盘被读取到内存中,被CPU运行
计算机的组成: 磁盘、内存、CPU/GPU
程序本质上是在内存中运行的
编程就是合理的分配内存
变量的声明
Var age;
赋值:
age = 20;
可以一次定义多个变量
Var name = “hello”,age=18,flag=true;
初始化:声明这个变量的时候,直接给这个变量赋值,叫做初始化
如果我们声明了变量,但是没有给它赋值,系统默认赋值成undefined
5.3变量的命名
用户自定义的名字叫做标识符
命名规则:
- 1、 由字母、数字、下划线以及美元符组成,不能以数字开头
- 2、 不能用保留字和关键字
- 3、 大小写敏感
- 4、 见名思意
- 5、 单词个数超过两个的
<1>驼峰式命名
className
<2>下划线命名
class_name
5.4数据类型
Number:数字(整型和浮点型)
Array:数组
Object:对象
Boolean:布尔
特殊数据类型:NULL、Undefined、NAN
5.5 JS是弱引用类型语言
JavaScript定义时不需要定义类型,赋值赋的什么类型它就是什么类型
关键字:typeof 常量/变量
作用:输出当前常量或变量的数据类型
6 运算符
6.1 算数运算符
+、-、*、/、%
注:将不同类型的数据进行算术运算
自动数据类型转换:不同类型的数据之间无法进行运算,必须转成同一数据类型,才能进行运算
- 1、 其中一个操作数必须是字符串,运算符必须是+号,别的数据类型转成字符串
- 2、 任何数据和字符串做加法操作,那么字符串要先转成对应的数字
- (1) 如果字符串是由纯数字组成,转成对应的数字再进行运算
- (2) 如果字符串中含有除数字意外的字符,转成NAN,NAN与任何数据运算都是NAN
- (3) 除字符串以外的数据,在进行算术运算时,先转成数字,再进行运算
算术运算符细节
计算机不会计算小数
在JS中除数可以为0
6.2关系运算符
>、<、<=、>=、==、===、!=、!==
自动数据类型转换:
<1>两个操作数都是数值,则数值比较
<2>两个操作数都是字符串,则比较两个字符串对应的ASCII码值
- (1) 如果是两个单个字符进行比较,直接比较对应的ASCII码值
- (2) 诸位比较,如果比较出大小,直接得结果
<3>两个操作数有一个是数值,则将另一个转成数值,再进行比较
6.3逻辑运算符
&& || !
与运算
格式:表达式1 && 表达式2
规律:只有当两个表达式的值均为真的时候,整个表达式才为真
短路操作:如果表达式1的值为false,则不再执行表达式2,直接得出结果为false
或运算
格式:表达式1 || 表达式2
规律:只有当两个表达式的值均为false,整个表达式才为假
短路操作:如果表达式1的值为true,则不再执行表达式2,直接得出结果为true
非运算
格式:
!表达式
规律:将表达式的值自动数据类型转换成布尔值后,再取反
注:非0为真,非空为真
6.4赋值运算符
=、+=、-=、*=、/=、%=
6.5 自增,自减
++、--
a++
值:++后置,先取a的值作为a++的值,之后再对a进行+1
功能:对原有的变量进行+1操作
++a
值:++前置,先对a进行+1操作,之后将a的值作为++a的值
功能:对原有的变量进行+1操作
a--
值:--后置,先取a的值作为a--的值,之后再对a进行-1
功能:对原有的变量进行-1操作
--a
值:--前置,先对a进行-1操作,之后将a的值作为--a的值
功能:对原有的变量进行-1操作
6.6表达式
任何数据和运算符组成的式子叫做表达式
7、进制
8、补充
(1)console.log():向控制台中输入内容,一般用于代码的调试
(2)代码压缩:去掉代码中所有的空格、tab和换行
(3)进制转换
十进制:0~9
二进制:0、1
八进制:0~7
十六进制:0~9、A、B、C、D、E、F
(4)强制数据类型转换
Boolean() 将其他的数据类型转成布尔值
口诀:非0为真,非空为真
Number() 将其他的数据类型转成数字型
注:只有纯数字字符才能转成字符串数字,其他的均为NAN
ParseInt() 取整
- 1、 取整
- 2、 将别的进制的数转成十进制