what is javascript
javascript
是一个很好的编程语言,它可以进行全栈开发。
what can you do with it?
- Web/Mobile Apps
- Real-time Networking Apps
- Command-line Toos
- Games
where does javascript run?
- Browser
- Node
可以在浏览器中执行javascript,打开Chorome
浏览器,右击鼠标,选择检查,打开开发者工具,进行尝试javascript的编写和运行。
Javascript VS ECMAScript
下载开发工具,设置开发环境
推荐VScode
创建一个新文件js-basic
,这个文件夹将存放这次学习的所有代码,将文件夹拖入vscode,并创建index.html
按下!
,然后进行回车,会进行自动补全,我们可以将其看做一个模版。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
点击Extension
按钮,下载Live Server插件
,可以将代码运行到浏览器。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
浏览器就会展示
javascript in Browsers
添加srcipt
元素的地方有:head
和body
(首选)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Hello World</h1>
<script>
// this is my first javascript code
console.log("Hello World");
</script>
</body>
</html>
separation of concerns
关注点分离:将计算机程序分隔为不同部分的设计原则,每一部分有各自的关注焦点。
上一节展示了一个javacript案例,但是实际开发中,代码要复杂的多,所以我们需要去将javascript代码从html代码中提取分离出来,这是为什么要拆分的原因。我们创建一个js文件用来存储js代码,那么接下来要考虑的问题就是如何合并文件去执行,我们就需要在原来的html文件中引用(reference)js文件,使用src
(source的缩写)指明js文件的地址。
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Hello World</h1>
<script src="./index.js"></script>
</body>
</html>
index.js
// this is my first javascript code
console.log("Hello World");
JavaScript in Node
在view
中点击Terminal
,进入中端,执行js文件
可以看到执行了js文件中的输出语句
Variables
使用一个变量去暂时地(temporarily)存储数据,这就像一个盒子,临时存放我们的物品,等我们需要用到这个物品的时候,我们就可以去盒子中找。
let name = 'hhh';
console.log(name);
// Cannot be a reserved keyword
//Should be meaningful
//Cannot start with a number
//Cannot contain a space or hyphen(-)
//Are case-sensitive
constants
const interestRate = 0.3;
interestRate = 1;
console.log(interestRate);
Primitive Types
let name = 'Hxw'; // String Literal
let age = 30;// Number Literal
let isApproved = true;//Boolean Literal
let firstName = undefined;
let selectedColor = null;
Dynamic Typing
javascript语言可以动态修改类型
Object
现实生活中,一个人会有名字、年龄、地址等等信息,在javascript中可以去定义一个人的对象,他包括两个属性,一个是名字,另一个是年龄。
对象的定义和使用
Array
数组可以存储不同类型的元素,通过下标进行访问,可以通过.
调用一些方法。
functions
可以给函数传递参数