JavaScript简介
1. 起源
• JavaScript诞生于1995年,它的出现主要是用于处理网页中的前端验证。
• 所谓的前端验证,就是指检查用户输入的内容是否符合一定的规则。
• 比如:用户名的长度,密码的长度,邮箱的格式等。
2. 实现
一个完整的JavaScript实现应该由以下三个部分构成:
(1)ECMAScript
(2)DOM
(3)BOM
3. 特点
(1)解释型语言
• JavaScript是一门解释型语言,所谓解释型值语言不需要被编译为机器码在执行,而是直接执行。
• 由于少了编译这一步骤,所以解释型语言开发起来尤为轻松,但是解释型语言运行较慢也是它的劣势。
• 不过解释型语言中使用了JIT技术,使得运行速度得以改善。
(2)类似于C与Java的语法结构
• JavaScript的语法结构与C和Java很像,向for、if、while等语句和Java的基本上是一模一样的。
• 不过JavaScript和与Java的关系也仅仅是看起来像而已。
(3)动态语言
• JavaScript是一门动态语言,所谓的动态语言可以暂时理解为在语言中的一切内容都是不确定的。比如一个变量,这一时刻是个整型,下一时刻可能会变成字符串了。当然这个问题我们以后再谈。
• 不过在补充一句动态语言相比静态语言性能上要差一些,不过由于JavaScript中应用的JIT技术,所以JS可能是运行速度最快的动态语言了。
(4)基于原型的面向对象
• JavaScript是一门面向对象的语言。啥是对象?下次聊。
• Java也是一门面向对象的语言,但是与Java不同JavaScript是基于原型的面向对象。啥是原型?下次聊。
4. JS代码编写位置
目前学习的JS全都是客户端的JS,也就是说全都是需要在浏览器中运行的,所以我们我们的JS代码全都需要在网页中编写。
• 我们的JS代码需要编写到script标签中。
• 我们一般将script标签写到head或者body中。(和style标签有点像)
• 属性:
(1) type:默认值text/javascript可以不写,不写也是这个值。
(2)src:当需要引入一个外部的js文件时,使用该属性指向文件的地址。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--
可以将js代码编写到外部js文件中,然后通过script标签引入
写到外部文件中可以在不同的页面中同时引用,也可以利用到浏览器的缓存机制
推荐使用的方式
-->
<!--
script标签一旦用于引入外部文件了,就不能在编写代码了,即使编写了浏览器也会忽略
如果需要则可以在创建一个新的script标签用于编写内部代码
-->
<script type="text/javascript" src="js/script.js"></script>
<script type="text/javascript">
alert("我是内部的JS代码");
</script>
<!--
可以将js代码编写到script标签
<script type="text/javascript">
alert("我是script标签中的代码!!");
</script>
-->
</head>
<body>
<!--
可以将js代码编写到标签的onclick属性中
当我们点击按钮时,js代码才会执行
虽然可以写在标签的属性中,但是他们属于结构与行为耦合,不方便维护,不推荐使用
-->
<button onclick="alert('我是一个按钮');">按钮</button>
<!--
可以将js代码写在超链接的href属性中,这样当点击超链接时,会执行js代码
-->
<a href="javascript:alert('按钮!!');">按钮</a>
<a href="javascript:;">按钮</a>
</body>
</html>
5. 基本语法
• JavaScript是严格区分大小写的,也就是a和A会被解析器认为是两个不同的东西。
• JS中每一条语句以分号(;)结尾
如果不写分号,浏览器会自动添加,但是会消耗一些系统资源;而且有些时候,浏览器会加错分号,所以在开发中分号必须写
• JS中会忽略多个空格和换行,所以可以利用空格和换行对代码进行格式化
6. 注释
• 注释中的内容不会被解析器解析执行,但是会在源码中显示,一般会使用注释对程序中的内容进行解释。
• JS中的注释和Java的的一致,分为两种:
(1) 单行注释://注释内容
(2) 多行注释:/星号 注释内容 星号/
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--JS代码需要编写到script标签中-->
<script type="text/javascript">
// 控制浏览器弹出一个警告框
alert("图片仅供参考,以实物为准!");
//document.write()可以向body中输出一个内容
document.write("图片仅供参考,以实物为准!!");
//console.log()的作用是向控制台输出一个内容
console.log("图片仅供参考,以实物为准!!!");
</script>
</head>
<body>
</body>
</html>
7. 标识符
•标识符是指变量、函数、属性的名字,或函数的参数。
• 标识符可以是按照下列格式规则组合起来的一或多个字符:
– 第一个字符必须是一个字母、下划线( _ )或一个美元符号( $ )。
– 其他字符可以是字母、下划线、美元符号或数字。
• 按照惯例,ECMAScript 标识符采用驼峰命名法。
• 但是要注意的是JavaScript中的标识符不能是关键字和保留字符。
8. 字面量和变量
(1)字面量,都是一些不可改变的值。比如 :1 2 3 4 5
-字面量都是可以直接使用,但是我们一般都不会直接使用字面量。
(2)变量:可以用来保存字面量,而且变量的值是可以任意改变的
-变量更加方便我们使用,所以在开发中都是通过变量去保存一个字面量,而很少直接使用字面量
-可以通过变量对字面量进行描述
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
//声明变量:在js中使用var关键字来声明一个变量
var a;
//为变量赋值
a = 123;
//声明和赋值同时进行
var age = 80;
console.log(age);
</script>
</head>
<body>
</body>
</html>
9.标识符
(1)标识符:在JS中所有的可以由我们自主命名的都可以称为是标识符。例如:变量名、函数名、属性名都属于标识符
(2)命名规则:
1.标识符中可以含有字母、数字、_、$
2.标识符不能以数字开头
3.标识符不能是ES中的关键字或保留字
4.标识符一般都采用驼峰命名法
- 首字母小写,每个单词的开头字母大写,其余字母小写。比如:helloWorld、xxxYyyZzz
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
// - JS底层保存标识符时实际上是采用的Unicode编码,
// 所以理论上讲,所有的utf-8中含有的内容都可以作为标识符
// 下面这几种写法不建议
var 1all = 1;
var if = 1;
var helloworld = 1;
var 锄禾日当午 = 789;
console.log(锄禾日当午);
</script>
</head>
<body>
</body>
</html>