JavaScript简介
什么是js
js分为ECMAscript(基础语法)和web APIs ,而web APIs又分为DOM和BOM
js写在哪里
-内联:直接写在标签内部,以 onclick = "xxx"
的形式
-内部:一般写在</body>
上行,以 <script> xxx </script>
形式
-外部:位置同上,以<script src = "xxx.js"></script>
的形式
变量
声明变量关键词
现在一般用let
,语法let 变量名
,且允许多次申明同一个变量
但是可以用let
同时声明多个变量,语法let xxx, yyy, zzz
,变量之间用,
隔开
js中的数据类型
分为基本数据类型和引用数据类型
基本数据类型
- number
- string
- boolean (true & false)
- undefined (基本数据类型的空值给undefined)
- null(基本数据类型的空值给null)
引用数据类型
- object
- array
- function
数据类型的转换
隐式转换
四则运算里的+ - * /
- 除了
+
,其他的都会将数据转化为number类型进行四则运算 - 而
+
两边但凡有一个数据类型是string,就会默认把另一个数据转化为string进行字符串拼接 - 另外:
+
作为正号解析时,可将其他类型转化为number, 例如:+'10'
boolean的隐转
在if()
语句中,'' "" `` 0 undefined null NaN
会被转化为true
,其他的均转化为false
显式转换
转换为Number(转换失败为NaN
)
-
Number(数据)
数据里面只要存在非数值就会转化失败 -
parseInt(数据)
依次转化数据,直到遇见非数字,如果数据的首位就是非数字,则直接转化失败,而且只保留整数(向上取整) -
parseFloat(数据)
转化规则同上,但是它能保留小数
转化为String
String(数据)
-
变量.toString(进制)
把 变量 的值转换为 string,进制 可以省略 - 利用隐式转换,三种引号皆可
运算符
- 算数运算符:
+ - * / %
- 赋值运算符:
+= -= *= /= %=
- 一元运算符:自增、自减、前置、后置
- 比较运算符:
-
> < >= <= == != === !==
,另外注意=== !==
除了比较值还会比较类型,而其他的只比较值,若类型不同会自动隐性转换 - 不要比较浮点数,精度问题
-
NaN
不等于任何值,包括NaN
-
- 逻辑运算符:
-
&& || !
与 或 非 - 短路运算:一般用于给变量赋值
-
&&
:若第一个为false,就直接返回false,后面的不执行;若第一个为true,才执行第二个,其结果要么为false,要么返回最后一个表达式的值 -
||
:若第一个为true,就直接返回true,后面的不执行;若第一个为false,才执行第二个,直到遇见true,其结果要么为false,要么是第一个为true的值
-
-