JavaScript是一种具有面向对象能力的,解释型的程序设计语言。更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言。它的主要目的是,验证发往服务器端的数据,增加Web互动,加强用户体验度等。JavaScript由 ECMAScript , DOM , BOM组成。
JS的三种使用方式:
1.行内JS :在html标签上直接写JS代码
2.内部JS :在Script标签中写JS代码,Script标签可以放在head中或body中(建议放在body中)
3.外部JS:定义JS文件,在外边的JS 文件中写入JS代码,通过Script标签的src属性引入对应的文件中 注意:如果Script标签设置了src属性,则在Script双标签之间的JS不会生效
语句:
1.JS代码一行为一单位,代码从上往下执行,一行一条语句。
2.语句不加分号结尾,如果一行定义多条语句,每句语句只会必须以分号结尾。(建议都加分号)
3.表达式不需要以分号结尾,如果加了分号则javascript引擎会当作语句执行,生成无用的语句。
变量:
1.如果变量只声明而未赋值,则显示undefinded
2.如果变量未声明就使用,则会报错
3.可以使用var同时声明多个变量
4.如果重新声明一个已存在的变量,是无效的
5.如果重新声明一个已存在的变量并赋值,则会覆盖
6.JS是一种动态的弱类型语言,可以声明任意类型
变量名提升:
JavaScript引擎的工作方式是。先解析代码,获取所有被声明的变量,然后在一行一行的运行。这造成的结果就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升。变量提升只针对var声明的变量
数据类型:
JS是弱类型语言,变量没有数据类型,数据有类型
undefinded类型: 值不存在
出现的情况
- 变量只声明未赋值,值为
- 当定义函数需要形参,调用函数未传递实参时,参数的值为undefinded
- 当函数没有返回值,接收值为undefinded
null类型:表示空值
- 使用typeof操作符测试null返回object字符串(typeof操作符:判断变量的类型)
- undefinded派生自null,所以等值比较返回值是true。
布尔类型:
- true
- false
数值型:数值型包含两种类型:整型和浮点型。
- 所有数字(整型和浮点型)都是以64位浮点数形式存储。所以JS中1和1.0相等
- 在存储数值型数据时自动将可以转换为整型的浮点数值转为整型
字符串类型:
- 使用''或""引起来
- 可以使用“+”对字符串进行拼接
对象类型:
- 数组:var 数组名 = [];
- 对象:var 对象名 = {};
- 函数:function 方法名(){
}
类型转换:
1.自动类型转换:
- 所有的值转字符串都是加引号
- 转布尔型:有值为true,无值为false(0为false,非0为true)
- 转数类型:空值是0,非空的数值型字符串能转换,非数值字符串转换成NAN
2.函数转换:
- parseInt() 转整数型
- parseFloat 转浮点型
注意:转换时会从值的第零个位置开始找有效数字,直到找到无效数字为止
3.显示转换
- toString() 将值转换为字符串
- toFixed() 保留指定小数位 如toFixed(2) ,表示保留两位小数位
注意:值不能为null
4.JS为number,Boolean,String对象提供了构造方法,用于强制转换数据,转换的是值的全部,不是部分。可以转换null
- Number()转数值
- Boolean()转布尔
- String()转字符串