
JavaScript用来干什么
- 数据的验证
- 将动态的内容写入到网页当中(ajax)
- 对事件做出相应
- 读写html当中的内容
- 检测浏览器
- 创建cookies
- 模拟动画
语法特点
- 基于对象和事件驱动的松散型的解释性语言
- 面向对象开发
- 事件驱动
- 松散型 弱类型
- 解释性语言。由浏览器解释执行
JavaScript的组成部分
- ECMAscript语法
- 数据类型,运算符,流程控制,函数,面向对象
- BOM浏览器对象模型
- DOM文档对象模型
难点
- 语法的松散*型
- 各个浏览器的兼容
调试工具
- alert('这是一个弹窗');
- document.write('输出到页面中');
- document.write('
我是h6
');
- prompt("提示信息","显示框");
- console.log("输出到控制台");
JavaScript引入方式
- script标签对,嵌入到页面中任意位置
- 超链接或者是重定向的位置
<a href="javascript:alert('重定向')">我是重定向</a>
- 事件后面
<div onclick="alert('事件后面')">这是事件</div>
- 引入外部js文件
<script src="index.js"></script>
js可以在页面中的任意位置引入,他们是一个整体可以相互联系,相互影响;在引入外部js文件中,不能出现
<script></script>
,在页面<script src=""></script>
标签中不能出现js代码
JavaScript的命名规范
- 严格区分大小写
- 变量由数字,字母,下划线,$组成,不允许数字开头
- 不能用关键字或保留字命名
- 命名习惯 驼峰命名法 首字母大写
- 命名要有一定意义
- ;语句结束
变量的声明及赋值
- 先声明后赋值
var a;a=1
- 声明同时进行赋值
var a=1;
- 一次声明多个变量,然后赋值
var a,b,c; a=1;b=2;c=3
- 一次性声明多个变量的同时赋值
var a=1,b=2,c=3;
栈区(内存小运行快) 堆区(内存大运行慢) 静态区 代码段
0开头的数字(8进制)
数据类型(2种)
- typeof()检测数据类型,返回值是字符串
初始数据类型:
- undefind
变量声明后没有赋值,默认值undefined - null
typeof的结果是object,表示什么都没有,占位符 - boolean
true false 结果是boolean - number
整型,浮点型;二进制,八进制,十六进制,十进制,科学计数法,特殊值
Number.MAX_VALUE 最大值,
Number.MIN_VALUE 最小值。 - string
用''
""
包围的值,就是一个字符串
单双引号效率一样;单双引号成对出现;可以相互嵌套,不能交叉嵌套;特殊字符
\b \n \t \r \'' \"" \\ \
引用数据类型
- object
运算符
表达式:运算符和操作数的组合成为表达式
算术运算符(1)
+ - * / %(取余) var++(先运行后自增) ++var(先自增后运行) var-- --var
10%3 余数为1
- %
- 用来取某个数的余数
- 用于取一定范围的值
- 一般不用小数,因为结果不确定
- 四则运算
- 字符串连接,任意的数据类型都可以和字符串连接,连接之后结果是字符串。
12.27
关系运算符(比较运算符)(2)
< > <= >= == === != !==
运算结果是布尔值
== 比较两个数的值是否相等 =不但要比较值是否相等,还比较类型是否相等 false0 true==1
比较规则
- 两个数值比较,正常比较
- 两个字符串进行比较时,比较第一个字符所对应的ASCll
- 数字和字符串在进行比较时,字符串尝试转换成数字进行比较,如果转换不成功返回NAN,整个表达式返回false
- undefined==null
- 数值和布尔值进行比较时,布尔值转化为true,1 false,0
赋值运算符(3)
= += -= *= /= %=
a++ a=a+1 a+=1
逻辑运算符(4)
与and&& 或or|| 非not!
&&
同时为真,结果为真。只要有一个为假,结果就为假
||
只要有一个为真,结果为真。全假,结果为假
!
取反。真-->假 假-->真
- 逻辑运算符可以对任何类型的数据进行运算但是在运算的
时候,可以转换为对应的布尔值 Boolean - Undefined false
- Null false
- Boolean 就是本身的值
- Number 除了0以外都是真的
- String 除了空字符串以外都是真的
- 对象 真的
一元运算符(5)
typeof +(正) -(负) delete new ++ --
- typeof()获取数据类型
- delete删除对象的方法或属性
- new用来创建一个对象
三元运算符(6)
格式:var 变量=布尔值?条件为真的值:条件为假的值
根据表达式的计算结果有条件的为变量赋值
特殊运算符(7)
, ()
,
- 用来一次声明多个变量
()
- 在运算的时候有优先级的作用
- 可以让函数运行