一、什么是javaScript
JavaScript ( JS ) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web 页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,例如 Node.js、 Apache CouchDB 和 Adobe Acrobat。JavaScript 是一种基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
二、javaScript的组成
ECMAScript,描述该语言的语法和基本对象
文档对象模型(DOM),描述处理网页的接口和方法
浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口
(一)ECMAScript [js的标准]
注释 // 、/**/
变量
操作符
流程控制语句
数组
对象
函数
正则表达式
...
(二)DOM Document Object Model文档对象模型
js操作html的api
是针对XML但经过扩展用于HTML的应用程序编程接口。DOM将整个页面映射成一个多节点结构。
var dom=document.getElementsByTagName(“input”);
var dom=document.getElementById(“input_name”);
dom.οnclick=function(){}
js语言:基础语法、基础库、扩展库(jQuery DOM库)
所有的js解释器都可以兼容ECMAScript
(三)BOM:Browser Object Model浏览器对象模型
js操作浏览器的api
开发人员可以使用BOM控制浏览器显示的页面以外的部分。弹出新浏览器窗口;移动,缩放,关闭浏览器的功能;提供浏览器详细信息的navigator对象;提供浏览器所加载页面的详细信息的location对象;提供用户显示器分辨率详细信息的screen对象;对cookies的支持;支持
XMLHttpRequest,IE中的ActiveXObject自定义对象
alert()/prompt()/confirm()
setInterval(),setTimeout()
XMLHttpRequest
Ajax
这里需要注意的是,只有ECMAScript是标准,也就是在绝大多数浏览器以及js解析器(node)中运行效果相同,但是DOM与BOM是各大浏览器厂商自己提供的API,在使用上大同小异,但是也可能会出现少许不兼容的情况
三、
系统环境
Linux 操作系统的环境*
Windows
MacOS
编辑器
vi、vim*
vscode/sublime
运行环境
旧:JavaScript不能独立运行+网页+console/fireBug
nodejs*
调试:
火狐:firebug
console.log()/弹框alert
(四)js的特点
(1)解释型语言
(2)弱类型语言
(3)顺序解释执行
(4)既可以作为前端的脚本语言,也可以作为后端语言,取决于应用平台和使用框架
在网页中使用JavaScript
内部JavaScript 编写好HTML,在<head>
标签体中添加<script>
元素,然后将js代码填写进来即可。
例如:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script type="text/javascript">
alert('hello javascript')
</script>
</head>
<body>
</body>
</html>
在网页中使用JavaScript
外部JavaScript 单独新建一个后缀名为.js的js文件,编写好HTML文件,在<head>
标签体内添加<script>
元素,使用script标签的src属性将将js文件导入进来。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script type="text/javascript" src="hello.js"></script>
</head>
<body>
</body>
</html>
在body和head中使用JavaScript的区别
在body部分中的JavaScript会在页面加载的时候被执行,在head部分中的JavaScript会在被调用的时候才执行。
因为浏览器解析html是从上到下的。如果把JavaScript放在head里的话,则先被解析,但这时候body还没有解析,所以会返回空值。一般都会绑定一个监听,当全部的html文档解析完之后再执行代码
windows.onload = function(){ // 这里放执行的代码 }
这就说明了,如果我们想定义一个全局对象,而这个对象是页面中的某个按钮时,我们必须将其放入body中,道理很明显:如果放入head,那当你定义的时候,那个按钮都没有被加载,可能获得的是一个undefind。一般习惯将JavaScript放在body的最后面,类似last-child。
在vi/vim中编写JavaScript
console.log('hello JavaScript')
使用node命令执行即可
$ node hello.js
注释
与绝大多数语言类似,JavaScript也需要注释来说明其代码含义,或者用来进行代码调试,注释后的代码会被浏览器忽略不被执行。
单行注释
// I am a comment
多行注释
/* I am also a comment */