一、Javascript 基础
- Javascript 简称 JS
- 是一门语言
- 一门计算机语言
- 一门计算机脚本语言
- 一门运行在浏览器当中的脚本语言,可以让网页更加的生动活泼,更具有交互性。
二、Javascript的用途
- 去进行表单的验证
- 制作网页动画
- 读写html当中的内容
- 操作cookie
- 判断浏览器
- 运行在服务器端
- ……
三、Javascript的发展历史
- 1992 NomBas ScriptEase
- 1995 Netscape livescript sun javascript Jscipt
- 1997 ECMA-262 ISO ECMAScript 1.0
- 1999 2.0
- 2000 3.0
- 2007 3.1
- 2009 5
- 2015 6 2015
- 2016 2016
- 2017 2017
三、Javascript的语法特点
- 基于对象和事件驱动的解释性松散型语言
- 基于对象: javascript是面向对象的语言
- 事件驱动:
- 由浏览器解释执行的
- 语法定义不是很严格
四、Javascript的组成部分
- ECMAScript javascript的核心语法
变量 运算符 流程控制 函数 数组 对象
- BOM 浏览器对象模型 javascript操作浏览器的部分
- DOM 文档对象模型 javascript操作文档的部分(页面效果)
五、Javascript的引入方式
- 域名或者是重定向
<a href="javascript:"></a>
<form action="javascript"></from>
- 嵌入方式
<SCRIPT>
</SCRIPT>
- 外部引入
<script src="demo.js"></script>
用 于 引 入 的 s c r i p t 标 签 是 不 能 中 间 写 其 他 j s 代 码 的 。 \color{red}{用于引入的script标签是不能中间写其他js代码的。} 用于引入的script标签是不能中间写其他js代码的。
虽 然 引 用 方 式 不 一 样 , 也 可 以 同 时 使 用 多 种 方 式 , 但 是 它 们 之 间 还 是 相 互 关 联 相 互 影 响 的 。 \color{red}{虽然引用方式不一样,也可以同时使用多种方式,但是它们之间还是相互关联相互影响的。} 虽然引用方式不一样,也可以同时使用多种方式,但是它们之间还是相互关联相互影响的。
六、Javascript变量
一个存储数据的容器
6.1 变量的声明和赋值
-
通过var 声明
var 变量名;
- 声明的同时赋值
- 先声明后赋值
- 一次性声明多个变量的同时赋值
- 一次性声明多个变量,然后再赋值
-
声明变量 let es6 新的语法
-
重新给一个变量赋值或者是重新声明赋值都会将变量原先的值覆盖掉
-
使用let是不能重新声明相同的变量的
-
声明常量 const es6 不能重新赋值也不能重新声明,声明和赋值必须同时执行
-
使用var声明变量会被优先解析
6.2 关于变量名
- 变量名区分大小写
- 必须以字母、下划线、$ 开始 后边可以有数字 字母 下划线 $;
- 不能和关键字 保留字冲突
- 命名变量的时候一定要有意义
- javascript 自己的命名习惯
- 驼峰命名法 getElementsByClassName
- 首字母大写 Object Array
七、Javascript的数据类型
typeof 运算符 可以用来得到某个变量的数据类型
数据类型 | typeof结果 |
---|---|
数值 | number |
字符串 | string |
undefined | undefined |
布尔值 | boolean |
null | object |
7.1 初始类型
- 数值
整数 小数 负数 十六进制 八进制 二进制 科学计数法
- 字符串
单引号 双引号 反引号 es6 模板字符串
var a="hello";
var b='${a}'
console.log(b);//hello
- undefined
一个变量声明了没有赋值 就会被自动赋值为undefined
- 布尔值
用来表示真假 真值是true 假值是false
- null
表示空 就是没有值 相对于是一个占位符 经常用于清空对象
7.2 引用类型
- 对象(函数对象 数组对象 自定义对象……)
初始类型和引用类型在内存当中保存的位置不一样,初始类型保存在栈区当中,引用类型保存在堆区当中,访问初始类型直接就能够找到值,访问引用类型是先找到栈区中保存的地址,然后根据地址从堆区当中找到数据。
八、运算符
- 算数运算符
+(加) -(减) *(乘) /(除) %(取余) ++(自加) --(自减) **(幂运算)
- 注意:+ 的用途
数值和数值相加。
字符串和任意的数据类型相加结果都是连接之后的新字符串。
- ++ – 位置的问题
a=b++ 先赋值 后运算
a=++b 先运算 后赋值
- 关系(比较)运算符
运算符 | 运算符说明 |
---|---|
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
== | 等于 |
=== | 全等 |
!= | 不等于 |
!== | 不全等 |
运算结果为一个布尔值
-
如果是数值和字符串进行比较js会尝试将字符串转化为数值,如果转化成功,比较转化之后的值,如果转化失败,结果就是flase
-
== 只比较值得大小 === 比较数据类型是否相同
-
字符串和字符串之间进行比较也可与进行比较,从字符串的第一位的ASCII码开始进行比较,如果大小相同,继续比较第二位,以此类推直到比较出大小或者字符串结束为止。
-
undefined==null 结果为true
-
赋值运算符
= += -= *= /= %=\
其中(+=): a+=1 就是 a=a+1
-
逻辑运算符
&&(与) ||(或) !(非)
-
对于多个布尔值进行运算得到另一个布尔值
- 与运算 同真为真
- 或运算 有真则为真
- 非运算 取反
-
对于多个普通的数据类型进行运算得到其中的一个值
- 将其他数据类型转化为布尔类型
- 假值:0 NaN “” undefiend false null
-
&& 与运算
值1 值2 结果 真1 真2 真2 真 假 假 假1 假2 假1 -
|| 或运算
值1 值2 结果 真1 真2 真1 真 假 真 假1 假2 假2
- 一元运算符
typeof new delete + -
- 三元运算符
var num=aa>=60?aa:60;
布尔值表达式: 变量?值a>=60?a:60
“?” 前面的表达式为真的时候整个表达式的值 “:” 当前面的表达式为假的的时候整个表达式的值。
- 特殊运算符
() 算数优先级 调用函数 声明多个变量的时候用逗号分隔。