Javascript基础
1 聊聊Javascript
1.1 Javascript的历史来源
94年网景公司 研发出世界上第一款浏览器。
95年 sun公司 java语言诞生
网景公司和sun合作。
Java+script ===> javascript
1.2 W3c规范
☞结构标准 html
☞表现标准 css
☞行为标准 js
1.3 JavaScript和ECMAScript的关系
ECMAScript是一种由Ecma国际前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association,制定的标准。
JavaScript是由公司开发而成的,公司开发而成的一定是有一些问题,不便于其他的公司拓展和使用。所以欧洲的这个ECMA的组织,牵头制定JavaScript的标准,取名为ECMAScript。
简单来说ECMAScript不是一门语言,而是一个标准。符合这个标准的比较常见的有:JavaScript、Action Script(Flash中用的语言)。就是说,你JavaScript学完了,Flash中的程序也会写了。
ECMAScript在2015年6月,发布了ECMAScript 6版本,语言的能力更强。但是,浏览器的厂商不能那么快的去追上这个标准。这些新的特性,我们就业班的深入,也会给大家介绍。
1.4 今天的JavaScript:承担更多责任
2003年之前,JavaScript被认为“牛皮鲜”,用来制作页面上的广告,弹窗、漂浮的广告。什么东西让人烦,什么东西就是JavaScript开发的。所以浏览器就推出了屏蔽广告功能。
2004年JavaScript命运开始改变了,那一年谷歌公司,开始带头使用Ajax技术了,Ajax技术就是JavaScript的一个应用。并且,那时候人们逐渐开始提升用户体验了。
2010年的时候,人们更加了解HTML5技术了,HTML5推出了一个东西叫做Canvas(画布),工程师可以在Canvas上进行游戏制作,利用的就是JavaScript。
2011年,Node.js诞生,使JavaScript能够开发服务器程序了。
1.1.1 JS介绍
- 94年网景公司,研发第一款浏览器
- 95年sun公司,java语言诞生
- 网景公司和sun公司合作 Java + Script=JavaScript
- 布兰登艾奇10天设计了JavaScript
a) 借鉴C的基本语法
b) Java的数据类型和内存管理
c) 借鉴Schrome语言
- W3c规范
a) 结构标准:html
b) 表现标准:css
c) 行为标准:js
- EcmaScript:javascript标准
- ES6:2015年
- Ajax:异步交互技术
a) 表单验证
- Node.js:是js可以开发服务器程序
2 Js介绍
◆js是一款运行在客户端的网页编程语言。
◆组成部分
★ecmascript js标准
★dom 通过js操作网页元素
★bom 通过api操作浏览器
◆特点
★简单易用
★解释执行
编译执行 java c# 转化为.dll可执行文件==>电脑读取.dll可执行文件
★基于对象
面向过程
作用
◆表单验证
◆轮播特效
◆开发游戏
3 Js书写位置
◆内嵌式
<style type = "text/javascript" > </style>
◆外链式
<script src="我是js.js > </script>
★先创建一个外部JS文件
★通过src将外部js调用。
◆写js代码的时候,分号不能省略。
◆推荐将JS代码写在html结束标签后边
将多个JS文件合成为一个JS文件
4 输出消息的几种方式
alert() 在页面弹出一个对话框,早期JS调试使用。
Confirm() 在页面弹出一个对话框, 常配合if判断使用。
a) 如果用户点击确认;返回值为true
b) 如果用户点击取消;返回值为false
console.log() 将信息输入到控制台,用于js调试。
prompt() 弹出对话框,用于接收用户输入的信息。
a) 如果用户点击确认,那么返回值为输入的值。
b) 如果用户点击取消,那么返回值为 null
document.write()在页面输出消息
document.write不仅能输出信息,还能输出标签。输入HTML标签要加双引号
◆转义字符
\” 转双引
\’转单引
\n转换行
\r 转回车
4.6 Js注释
快捷键 ctrl+/
单行注释 //
多行注释 /* */
5 变量
会变化的量。
变量是用来存储数据的容器。
◆定义变量
- Var a = 10,b = 12;//正确
- Var a = 10; //正确
◆给变量赋值
a = 3;
“=”是赋值运算符
- 两个等号”==”:判断是否相同
- 三个等号“===”:判断是否全等(包括数据类型)
◆定义并赋值
var a = 3;
5.1 变量的命名规范
◆不能以数字或者纯数字开头来定义变量名。
◆不推荐使用中文来定义变量名。
◆不能使用特殊符号或者特殊符号开头(-除外);
◆不推荐使用关键字和保留字来定义变量名。
★在JS中严格区分大小写的!!!
6 数据类型
6.1 简单数据类型
◆Number 数字类型
包含正数 负数 小数
数字类型的表达方式
★十进制表示法
★十六进制表示法
从0-9,a(A)-f(F)表示数字。以0x开头。
var n = 0x4321;
★八进制表示法
0开头,0-7组成。
var n = 0472 ;
◆字符串 String
凡是用双引号或者单引号引起的都是字符串。
转义字符:
\”转双引号、\’转单引号、\r回车、\b换行
◆布尔数据类型 Boolean
只有2个值一个是true, 一个是false. 实际运算中true=1,false=0
var n1 = 2 ;
var n2 = 3;
alert( n1 > n2 ); // flase 错误的 0
alert(n1 < n2 ); //ture 正确的 1
◆undefined 变量未初始化
定义了变量,没有给变量赋值,变量是存在的
var n ;
alert ( n );
◆null 变量未引用 值为空 object
var n2 = null ;内存中是找不到的
6.2 复杂数据类型
★ object 对象
★ array 数组
7 判断数据类型
typeof()
可使用alert( typeof ( n ) ) ;来输出
8 比较运算符
< > <= >= == !=
结果只有ture 和 false
9 算术运算符
运算符 |
结果 |
+ |
如果是数字类型的变量相加,那么结果为数字类型 如果是非数字类型的变量相加,结果为字符串类型 |
- |
如果是非数字类型的变量相减结果为 NaN |
* |
同上 |
/ |
同上 ,如果0作为除数,结果为infinity(无穷大) |
% |
获取余数 |
() |
优先级 有括号先计算括号里面的值 |
◆+ 加号
★两个数字类型的变量相加,得到的是一个数字类型。
★一个数字类型和一个字符串相加,得到的是一个字符串。
◆— 减号
★两个数字类型的变量相减,得到的是一个数字类型。
★一个数字类型和一个数字字符串相减,得到的是一个数字类型。
★一个数字类型和一个非数字字符串相减,得到的是NaN,是一个数字类型。
NaN, not a number
◆/ 除号
★两个数字类型的变量相除,得到的是一个数字类型。
★一个数字类型和一个数字字符串相除,得到的是一个数字类型。
★一个数字类型和一个非数字字符串相除,得到的是NaN,是一个数字类型。
★0做为除数的时候,得到结果 Infinity (无限大),是一个数字类型。
◆% 取余数
◆优先级 有()先计算()里边的
10 带操作的赋值运算
var n1 = 2;
var n2 = 3;
n1+=n2; // n1=n1+n2 ;
运算符 | 示例 | 等价于 |
+= | a+=b | a=a+b |
-= | a-=b | a=a-b |
*= | a*=b | a=a*b |
/= | a/=b | a=a/b |