一、HelloWorld
- JS代码需要写在script中
- JS语言的执行顺序是从上到下一行一行执行
<html>
<head>
<meta charset="utf-8">
<title></title>
<!--JS代码需要写在script中-->
<!--JS语言的执行顺序是从上到下一行一行执行-->
<script type="text/javascript">
alert("弹出一个警告框");
document.write("在页面中输出一段内容");
console.log("console就是控制台的意思");
</script>
</head>
<body>
</body>
</html>
二、JS编写位置
- 可以将JS代码编写到外部JS文件中,然后通过script标签引入
写到外部文件中可以在不同的页面中同时引用,也可以利用浏览器的缓存机制
推荐使用该方式 - script标签一旦使用外部代码引入了,内部就不能编写代码了,即使编写了浏览器也会忽略
但是如果需要有别的JS代码,再来一个script标签 - 可以将JS代码编写到标签的onclick属性中
当我们点击按钮时,JS代码才会执行
虽然可以写在标签的属性中,但是他们属于结构与行为耦合,不方便维护,不推荐使用 - 可以将JS代码写在超链接的href属性中,这样点击超链接时,会执行JS代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS编写位置</title>
<script type="text/javascript"">
alert("script标签内部的JS")
</script>
<script type="text/javascript" src="JS/demoscript.js">
</script>
</head>
<body>
<button onclick="alert('JS写在button的onclick属性中');">点击</button>
<a href="javascript:alert('JS写在href属性中');">超链接</a>
<a href="javascript:;">不让超链接跳转的常规用法</a>
</body>
</html>
demoscript.js
alert("我是外部文件中的JS代码");
三、基本语法
- JS中严格区分大小写
- JS中每一条语句都以;结尾
如果不写; 浏览器会自动添加,但会消耗一些系统资源,而且有些时候,浏览器会加错分号,所以在开发中分号必须写 - JS会忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化
四、字面量和变量
1. 字面量=常量
- 不可改变的量,比如12345
- 可以使用,但不推荐
2. 变量
- 变量可以用来保存字面量,而且变量的值是可以任意改变的
- 变量更好管理,常用
- 可以通过变量对字面量进行描述
3. 声明变量
1.JS中用var关键字来声明一个变量
2.为变量赋值
3.声明和赋值可以同时完成
变量的声明提前
- 使用var关键字声明的变量,会在所有的代码执行之前被声明,但是赋值还是在原来的位置
- 但如果声明变量时不适用var关键字,则声明不会被提前
var a;
a = 100;
var b=120;
var age = 80;
console.log(a,b,age);
五、标识符
标识符
- 在JS中所有的可以自主命名的都可以称为是标识符
- 例如:变量名、函数名、属性名都属于标识符
- 命名一个标识符需要遵循以下规则:
1.标识符中可以含有数字、字母、_、$
2.标识符不能以数字开头
3.标识符不能是ES中的关键字或者保留字
4.标识符一般都采用驼峰命名法(helloWorld)–规范非法则 - JS底层保存标识符时实际上采用的Unicode编码,所以理论上讲,所有的utf-8中含有的内容都可以作为标识符(中文也可以,但是没必要)
关键词&保留字
关键词
| | | | | |
---|
break | do | instanceof | typeof | case | else |
new | var | catch | finally | return | void |
continue | for | switch | while | default | if |
throw | delete | in | try | function | this |
with | debugger | false | true | null | |
保留字
| | | |
---|
class | enum | extends | super |
const | export | import | implements |
let | private | public | yield |
interface | package | protected | static |