1.介绍
JavaScript是一种运行在客户端(自己的电脑上)的脚本语言不是在服务器上
脚本语言:不需要编译,运行过程由JS解释器(js引擎)逐行进行解释并执行
JavaScript不仅可以做前端编程还可以做一些服务端的编程(基于Node.js技术)
2. 浏览器执行JS
浏览器分成两部分:渲染引擎和JS引擎
渲染引擎:用来解析HTML与CSS,俗称内核,比如谷歌浏览器的blink,老版本的webkit.
JS引擎:也称JS解析器。用来读取网页中的JavaScript代码,对其处理后运行,比如谷歌浏览器的V8
浏览器本身不会执行JS代码,而是通过内置的引擎来执行JS代码。JS引擎执行代码的时候逐行解释每一句源码(转化为机器语言),然后由计算机去执行,所以JavaScrip语言归为脚本语言,会逐行解释执行。
当 读到一行JS代码(高级语言),JS引擎就会将这行代码转化成计算机可以识别的机器语言(01),之后再读第二行的代码,再转换,以此类推。
3. JS的组成
JavaScript组成:ECMAScriptDOMBOM
ECMAScript:规定了JS的基础语法
DOM文档对象模型
BOM浏览器对象模型
4.JS的3种书写位置:行内、内嵌、外部
4.1行内式
可以将单引号或少量JS代码写在HTML标签是事件属性中(以on开头的属性),如:onclik
注意单引号的使用:在html中推荐使用双引号,JS中推荐使用单引号。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="device-width, initical-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<!--1行内式JS直接写道元素内部-->
<input type="button" value="唐伯虎" onclick="alert('秋香姐')">
<!--当点onclick击这个按钮的时候弹出警示框alert,框里写了“秋香姐”-->
</body>
</html>
4.2内嵌式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="device-width, initical-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<!--2内嵌式的JS-->
<!--页面一打开就会弹出沙漠骆驼的对话框-->
<script type="text/javascript">
alert('沙漠骆驼')
</script>
</head>
<body>
</body>
</html>
4.3外部
(1)在html同目录下新建my.js文件
输入
alert('如果我是DJ,你还爱我吗?')
(2)在html文件中引入my.js文件如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="device-width, initical-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<!--3.外部JS写法-->
<script src="my.js"></script><!--中间不可以写代码-->
</head>
<body>
</body>
</html>
注意:中间不可以写代码,
5.JS的注释
单行注释
//单行注释
多行注释
/*多行注释
多行注释*/
6.JS的输入和输出语句
为方便信息的输入输出,JS中提供了一些输入输出语句,常用的语句如下:
prompt(info)
浏览器弹出输入框,用户可以输入,归属浏览器
alert(msg)
浏览器弹出警示框,归属浏览器
console.log(msg)
浏览器控制台打印输出信息,归属浏览器
<script type="text/javascript">
//这是一个输入框
prompt('请输入您的年龄');
//弹出警示框,将计算机输出的内容展示给用户
alert('计算结果是');
//控制台输出 给程序员测试用的(在审查元素中可见)
console.log('我是程序员可以看见的');
</script>