JavaScript
1.概念
是一门基于对象的语言,脚本语言,常用于浏览器端(在后端也有技术实现—Node.js)
2.不得不说的历史
和JAVA的关系:语法十分相似,但其实毫无关系。
1995年5月,Netscape,LiveScript
1995年12月,改名为JavaScript
1996年8月,微软,Jscript
1997-1999年,ECMA,ECMAScript,基于已有的JavaScript和Jscript,提出了标准的Script语法规则,JavaScript和Jscript都遵循这套标准。
3.引入JavaScript
1.在head标签中引入script子标签
<script type="text/javascript">
js代码
</script>
2.在head标签中引入script子标签,引入外部js文件
<script type="text/javascript" src="js文件位置"></script>
4.JavaScript语法—定义变量
定义变量时可以接收任意类型数据,因为JavaScript是一门弱类型语言(可以不指定类型)
定义变量有var是局部变量使用范围当前范围
定义变量没有var是全局变量使用范围之后任意位置
5.数据类型
基本数据类型和复杂数据类型
基本数据类型
Number数值型、String字符串型、Boolean布尔型、Undefined未定义类型、Null空类型
Number数值型—js封装的对象
属性
MAX_VALUE—最大值
MIN_VALUE—最小值
NaN—表示非数字
NEGATIVE_INFINITY—负无穷大
POSITIVE_INFINITY—正无穷大
String字符串型—js封装的对象
方法详见API表
Boolean布尔型—js封装的对象,只含有两个值(true、false)
Undefined未定义类型-–js封装的对象,只含有一个值本身(undefined值)表示变量未定义(不能继续进行操作)
Null空类型—js封装的对象,只含有一个值本身(null值),对象的地址值为null,不指向任何内存区域
复杂数据类型
函数、数组、对象
函数
一段可以执行的代码合集,本质是一段字符串
注意:
1.通过函数名()来调用函数
2.传入的参数比参数列表的参数少,不够的参数值为undefined,数值型数据和undefined做运算返回的结果是NaN(非数字)
当传入的参数比参数列表的参数多,剩余传入的参数值都不参与操作
把所有传入的参数值存在arguments身上可以通过遍历的方式来展示参数值
3.变量可以接收任意类型数据,可以接收函数,变量值就是函数,输出变量名时输出是接收函数内容,变量名()在调用接收的函数
定义函数
1.普通函数定义方式
function 函数名(参数列表){
函数体;
}
2.动态函数定义方式 (保证最后一个是函数体)
var mx=new Function(“a”,“b”,“return a+b”);
3.直接量函数定义方式
var 变量名=function(参数列表){函数体}
6.js语法–数据类型自动转换
在js中存在数据类型自动转换的问题。以下是一张参考表格
数字 | 可以在需要时转换为对应的字符串形式。0会转换为false,其他数字会转换为true.在需要对象时可以自动转换为Number对象。 |
---|---|
字符串 | 可以在需要时转换为对应的数值,需要注意当数值和字符串进行加法运算时,会处理为字符串的拼接,所以需要通过parseInt或parseFolat将字符串强制转换为数值类型参与运算。非空字符串转换为true,空字符串转换为false。需要对象时自动转换位String对象 |
布尔类型 | true转换为1,false转换为0.转换为字符串的"true"和"false".转换为Boolean对象 |
对象类型 | 如果为null则转成字符串"null",如果为null转换为false |
7.js语法–运算符
+ | 加法运算。2.拼接运算 |
---|---|
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算。运算结果需要使用浮点型则保留浮点型数据。如果能够转换为整型则自动转换为整型 |
1.逻辑运算&& || !
2.位运算 & |
3.三元表达式 2+3>5?“true”:“false”
4.typeof()运算符–判断数据类型
8.js语法–语句
for循环 (js没有增强for循环)
while
do …while
switch case
—与java中的使用方式相同
if(a=1)—先把1的值赋值给变量a,此时变量a的值就作为结果值来做判断,因为存在自动类型转换自动把1转换成true,这个判断就是一直执行。为了避免漏写=情况让需要比较的值放在左边变量放在右边即使出现漏写情况在执行时就会报错就可以快速改正