JavaScript:JavaScript诞生于1995年,它的出现主要是用于处理网页中的前端验证。所谓的前端验证,就是指检查用户输入的内容是否符合一定的规则。为了解决前端验证的问题,当时的浏览器巨头NetScape(网景)公司就开发出一种脚本语言,起初命名为LiveScript,后来由于SUN公司的介入更名为了JavaScript,但注意Java和JavaScript的关系就像老婆和老婆饼的一样,没有任何关系。下面是JavaScript的发展历程
年份 | 事件 |
---|---|
1995年 | 网景公司开发出了JavaScript |
1996年 | 微软发布了和JavaScript兼容的JScript |
1997年 | ECMAScript第1版 |
1998年 | ECMAScript第2版 |
1998年 | DOM Level1的制定 |
1998年 | 新型语言DHTML登场 |
1999年 | ECMAScript第3版 |
2000年 | DOM Level2的制定 |
2005年 | 新型语言AJAX登场 |
2009年 | ECMAScript 第5版 |
2009年 | 新型语言HTML5登场 |
JavaScript特点:
for
、if
等结构和Java基本是一致的,所以如果有Java基础的话学起来比较轻松,但Java和JavaScript也只是看起来像而已JavaScript运行过程:如下图
浏览器有如下两个引擎
JavaScript组成:一个完整的JavaScript应该由以下三个部分组成
JavaScript的引入方式和基本使用:和CSS一样,JavaScript也有三种引入方式,分别是行内式、内嵌式和外部式。其中第三种方式最为常用,介绍如下
首先创建一个test.html
test
你好JavaScript
建立一个JavaScript文件javascript.js
,使用alert("Hello JS")
让浏览器在打开时弹出一个对话框并显示"Hello JS"
alert("Hello JS")
然后在test.html
中通过script
引入javascript.js
test
你好JavaScript
打开浏览器效果如下
JavaScript的注释:分为如下两种,这和Java一致
// JavaScript单行注释 /* JavaScript多行注释 */
alert("Hello JS")
前文已经展示,使用alert()
函数即可,但注意弹窗输出一般不会轻易使用,因为频繁使用弹窗会降低用户的使用体验
如下,使用console
向控制台输出信息
console.log()
:输出日志信息console.info()
:输出一条消息console.warn
:输出警告信息csonsole.error
:输出一条错误打开浏览器调试工具,然后查看控制台
可以使用document.write()
向页面输出一句话
document.write("Hello JS By document.write")
标识符:JavaScript标识符命名建议规则如下
_
或$
关键字:JavaScript关键字如下,以下关键字不能用作标识符
保留字符:JavaScript保留字符如下,以下保留字符不能用作标识符
变量:在JavaScript中也是需要先声明变量然后再赋值的,如下
var name = "张三";
var age = 18; console.log("name:", name);
console.log("age:", age);
但与Java这种静态语言有所不同的是,JavaScript是一门动态语言,这意味着JavaScript的变量类型是程序在运行的过程中才能确定的(这也是为什么它声明变量时只需要一个关键字var
),并且随着程序的运行变量的类型也可能随时发生变化
var name = "张三";
var age = 18; console.log("name:", name);
console.log("age:", age);
console.log("\n"); name = 18
age = "张三" console.log("name:", name);
console.log("age:", age);
数据类型:JavaScript中共有如下五种基本数据类型
number
: 不区分整数和小数boolean
:true
为真;false
为假string
undefined
:表示未定义的值(唯一值)null
:空值(唯一值)进制表示:
var a = 192; // 十进制数
var b = 0o14; // 八进制数
var c = 0xa; // 十六进制
var d = 0b10; // 二进制数 console.log(a);
console.log(b);
console.log(c);
console.log(d);
特殊的数字:
infinity
:表示无穷大,超过此范围就会返回infinity
-infinity
:表示无穷小,超过此范围就会返回-infinity
NaN
:表示不是数字(可以使用isNaN()
函数判定是否为非数字)console.log(Number.MAX_VALUE);
console.log(Number.MIN_VALUE); // 表示最小的正数 console.log(isNaN('hello'- 10));
单双引号表示字符串均可:
console .log('Hello World!');
console .log("Hello World!");
转义字符:
转义字符 | 含义 |
---|---|
\n | 换行 |
\\ | 斜杠 |
\t | 制表 |
\b | 空格 |
\r | 回车 |
console .log("我的名字叫做\"Michael Jackson\"");
求字符串长度:
var str = "HelloBY";
console.log(str.length);
字符串拼接:
var str1 = "Hello";
var str2 = "World";
var str3 = str1 + str2;
console.log(str3);
console.log(str1 + "World");
字符串比较: 直接使用==
即可
var str1 = "Hello";
var str2 = "World";
var str3 = str1 + str2;
console.log(str3 == "HelloWorld");
JavaScript中布尔类型只能取true
或false
:
var a = true;
var b = false; console.log(typeof (a));
console.log(b)
JavaScript中布尔类型会发生隐式转换,true
和false
参与运算时分别会看作1和0
var a = true;
var b = false; console.log(a + 1);
console.log(b - 1);
如果一个变量在定义的时候没有初始化那么它就是undefined
的:
undefined
和字符串、数字运算效果如下:
var a; console.log(a + "str");
console.log(a + 10);
null
表示当前的变量是一个空值
var a = null; console.log(a);
运算符:JavaScript中的运算符和Java中的运算符基本一致,这里不再详细介绍
+
-
**
/
%
=
+=
-=
*=*
/=
%=
++
--
<
>
<=
>=
==
:比较是否相等(会进行隐式类型转换)!=
===
:(不会进行隐式类型转换)!==
&&
||
!
&
|
~
^
<<
>>
>>>
语句:JavaScript中的条件语句、循环语句与Java基本一致,这里不再介绍