js是有网景公司(Netscape)的 布兰登艾奇创建的。
js最终被ECMA统一:ECMAscript、DOM、BOM
js概念:面对对象的跨平台脚本语言
特点:依赖别的语言才能实现,可以在别的平台上运行,支持面对对象
用途:表单验证,网页特效,开发小游戏、物联网开发
js的组成:ECMAscript语法标准、DOM操作文档类型、BOM浏览器类型
js样式表
外联:<script src=""> </script> 常用
内联<script></script> 放在哪里都行,一般放在body后面
行内<body><script></script></body>
js的输出,由于js语言并不能直接在网页显示,需要借助特殊方法才能显示
1弹窗的形式 alert()
2.document.write()在页面显示,可以输出标签,但标签一定是字符串
3.confirm() 询问用户是否确认操作的弹窗
4.prompt()带有输入框的弹窗
5 console.log()控制台查看
一次输出多个数据 console.log(数据1,数据2)
变量 ,计算内部用来储存数据的容器,需要先定义,才能有变量
语法:var 变量名 表示创建新的容器,
var 变量名,变量名,变量名=数据
变量名命名要求:由字母、下划线、数字、$组成,不能用关键字
一些关键字:
赋值 “=”
使用赋值符号给变量添加内容,
语法 变量名=数据
数据类型,
数据类型有 数字类型、字符串类型、 布尔类型、未定义类型、object类型
number数字类型 包括整数、小数、负数
string字符串类型,用单引号、双引号引起来的字符 "你好吗?" '今天嫁给我'
boolean布尔类型,符合就输出true,不符合就输出false
underfined未定义类型 使用了var定义了,但是没有给内容
object 用法:object null/{ }/[ ] 表示一个集合
使用 typeof 可以看出一个数据的类型
console.log(typeof(数据))
字符串类型
单引号,双引号不能自己嵌套自己,
转义符,在引号前面加反斜杠\可以使得引号变成一个普通不带特殊作用的符号
字符拼接符,将两个字符通过“+”拼接一起,组成一个字符号
“用户输入的数据都是字符串”
科学计算法
var num=3e+5//表示3乘与10的5次方
数值范围
最小值:Number.MIN_VALUE,这个值为: 5e-324
最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
无穷大:Infinity
无穷小:-Infinity
NaN,在js中,用来表示一个非数字的特殊值,当计算机发现无法继续运算的时候,不会报错,而是返回一个NaN
NaN的注意事项:
-
NaN的类型是number类型的,表示一个非数字
-
NaN不等于任何值,包括NaN本身
-
通过isNaN()可以判断是否是一个数字,返回false的时候,表示是一个数字。
运算符
加法 | + | var a = 1; var b = 2; var c = a + b; |
减法 | - | var a = 1; var b = 2; var c = a - b; |
乘法 | * | var a = 1; var b = 2; var c = a * b; |
除法 | / | var a = 1; var b = 2; var c = a / b; |
求余 | % | var a = 1; var b = 2; var c = a % b; |
关系运算
运算符 | 描述 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
== | 等于(两边相等时输出true,反之输出false) |
=== | 全等于(先判定类型是否想等,类型相等了再判定数值相等) |
!= | 不等于 (数据相等时输出false ,不相等时输出true) |
!== | 不全等与(全等的反义词,全等时输出false,不全等输出true) |
关系运算的最终结果只有true或false
逻辑运算
并且&& | 两个条件都满足了,才会输出true |
或者 || | 满足其中一个,就可以输出true, |
反 !() | 根据结果的布尔值,返回相反的布尔值 |
自增运算++ 表示在数字的基础上加1,只针对变量,
++a表示碰见赋值、运算、输出时,先自加。在运算
a++表示碰见赋值、运算、输出时,先运算,再自加
数据类型转换
转换成num类型
强制转换:利用js工具转换
1.Number()
var num=“11”
var num=Number(num)
2.parseInt()转换数字类型并取整数, I是大写的 i
注意:如果字符串里开头是除数字外的字符,则转换失败,开头数字不影响转换
3.parseFloat()同上并保留小数,括号内数字几就保留几位小数。
隐形转换:没有利用工具,利用运算
1.数学运算,进行除+号外的其他数学运算符后,得出来的结果一定是数字类型
2.比较运算,字符串跟数字进行 比较运算时,只要两边有一个是数字,另一个也会转换成数字类型
,效果仅限于运算中
转换成布尔型
Boolean()
转换成布尔型结果是false有:
空字符串、undefined、null、NaN、数字0
隐形转换:当数据处于if小括号里面时,结果也会转换成布尔值,判断进行那个语句
转换成字符串
String()
数据.String()
隐形转换:+号左右两边要是有一个是字符串,会进行拼接