JavaScript概述
是一个运行在客户端浏览器端、解释型、弱类型、面向对象的脚本语言
计算机语言转换方式
-
编译型
主要表现在不能跨平台,使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行程序的格式
-
解释型
易于跨平台,使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行
语言类型
-
强类型
也称为强类型定义语言。是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。比如Java
-
弱类型
与强类型语言相反,数据类型可以被忽略,一个变量可以赋不同数据类型的值。比如PHP、JavaScript、Python
如何使用JS
使用方式
-
页面内部直接写入
<script>IS代码</script> -
用script标签引入
<script src="js文件路径"></script>
输出/输入方式
-
在控制台打印输出日志
console.log() -
在页面打印输出日志
document.write()缺点:如果绑定了点击事件,会将页面上所有的内容全部替换掉
-
在浏览器自带的警告框输出日志
alert()缺点:有时候会卡住整个浏览器,导致用户只能看到一个白板
-
用户输入
prompt()
变量和常量
变量var
创建之后可以改变值
var 变量名=值
变量名命名规范
- 不能以数字开头
- 驼峰命名法或下划线
- 变量名不能是关键字
- 变量可以只创建不赋值,默认值undefined
- 多个变量可以连续创建,用逗号隔开
特殊变量名name
不管保存的数据类型是什么,都会转换成字符串类型,name是关键字
常量const
创建之后值不可以更改
const 常量名=值
数据类型
原始/基本/值类型
- 字符串string(黑色)
- 数字number(黑色)
- 布尔(boolean)(蓝色)
- Null(灰色)
- Undefined未定义(灰色)
查看变量类型typeof()
运算符
算术运算符
-
加+
如果遇上一个字符串,则运算符两边的值都会转为字符串,不再是+运算,而是拼接操作
-
减-
-
乘*
-
除/
-
取余(模)%
作用:
-
判断奇偶数
-
取出某个数字的后n位
console.log(1234%10);--->4
-
带有隐式转换
会将运算符左右两边的值的数据类型转换为数字再运算
- undefined----> NaN
- null---->0
NaN
NaN不是一个数字,但数据类型是数字类型。
特点:
- 参与任何算术运算结果都是NaN
- 参与任何比较运算结果都是false
关系/比较运算符
结果一定是一个布尔值(true/false)
-
大于>
-
小于<
-
等于==
-
大于等于>=
-
小于等于<=
-
非等于!=
-
全等===
不带隐式转换的等值比较
-
非全等!===
带有隐式转换
特殊
- 如果参与比较的两边都是字符串,则会按照ASCII码值进行按位比较
- !isNaN判断是不是NaN,也具有隐式转换
逻辑运算符
- 与&&
- 或||
- 非!
赋值运算符
- =
- +=
- -=
- *=
- /=
- %=
自增自减运算符++/--
前++和后++的区别
单独使用没有区别,但是如果参与了别的表达式,返回的结果不一样
- 前++返回的是加了之后的新值
- 后++返回的是旧值
位运算
-
左移<<
m<<n ---->m*2的n次方
-
右移>>
m>>n ---->m/2的n次方