JavaScript学习之基础语法(一)

为什么要学习 JavaScript

HTML 和 CSS能做的是页面的静态效果,如果想实现页面上的一些功能或者交换效果,比如轮播图、数据格式验证等,就要用到 JavaScript。简而言之:

  • HTML - 页面的结构
  • CSS - 页面的样式
  • JavaScript - 页面的行为

什么是 JavaScript

  • JavaScript 是一种运行在浏览器的编程语言
  • 编程语言就是跟计算机交流的语言,通过编程语言指挥计算机完成某件事情。常见的编程语言: java、c、c#、php。
  • 跟其它编程语言不同的是 JavaScript 运行在浏览器
  • 编程语言最终都会被某种翻译器转换成 CPU 能够执行的指令

JavaScript 的组成

  • ECMAScript - 简称 ES,用来规范 JavaScript 的语法的,具有多个版本:
  • DOM - 文档对象模型,用来操作页面上的标签的
  • BOM - 浏览器对象模型,用来操作浏览器的部分功能的

JavaScript 能做什么

JavaScript 发展到现在几乎无所不能。

  • 网站/Web 应用
  • 服务端开发(Node.js)
  • 命令行工具(Node.js)
  • 桌面程序(Electron)
  • App(Cordova)
  • 控制硬件-物联网(Ruff)
  • 游戏开发(cocos2d-js)

JavaScript 初体验

JavaScript 和 CSS 一样,也有三种书写位置:

内嵌式

创建一个 HTML 文件,例如:index.html

在 HTML 文件的末尾,body 标签结束之前

<html>
<body>
    <script>
        alert('Hello World');
    </script>
</body> 
</html>

 

在浏览器中运行 HTML 文件即可看到效果

外链式

创建一个 HTML 文件,例如:index.html

创建一个以 .js 结尾的文件,例如:index.js

在 HTML 文件中引用刚刚创建好的 js 文件

<script src="index.js"></script>

 

在新建的 js 文件中输入以下代码

 

alert('Hello World');

 

在浏览器中运行 HTML 文件

⚠️ 注意:引用外部 js 文件的 script 标签中不可以写JavaScript代码

行内式

<input type="button" value="点我" onclick="alert('Hello World')">
点击按钮,就会执行 js 代码

总结

实际工作/项目中都会使用外链式
前期学习 JavaScript 为了方便会使用内嵌式
行内式了解,以后见到内嵌式的代码能看懂

输入输出方法

在初体验中我们使用了 alert() 方法弹出一个消息提示,在 JavaScript 中,有多个可以弹出/输出消息的方法,在我们的仿 siri 项目中会用到其中的一些,比如:alert()、让用户输入内容的弹出框。

输出方法

alert()

  • 作用:这个方法用于在浏览器上弹出消息提示框
  • 用法:
    alert("提示消息");
    // or
    alert('提示消息');

注意:这里的“消息提示”,既可以用英文状态下的单引号也可以用双引号。

console.log()

  • 作用:可以在浏览器的开发者工具(F12打开)的控制台中输出消息,这样做的目的是为了将来方便调试程序,未来我们会经常用 console.log()。
  • 在开发者工具的控制台还可以直接书写 JavaScript 代码看输出的结果。

  • 用法:
    console.log('输出消息')

输入方法

⏰ confirm()

  • 作用:在浏览器里弹出一个确认框,比如删除提示

  • 用法:
    confirm('确认删除?');

prompt()

  • 作用:在浏览器里弹出一个输入框,让用户输入内容
  • 用法:
    prompt('请输入你要查看的对象');

变量和常量

变量

如果我们使用 prompt() 方法让用户输入了数据,我们又想要把用户输入的数据保存起来,怎么办呢?

⏰ 什么是变量?

  • 一个变量,就是一个用于存放数值的容器。这个数值可能是一个用于累加计算的数字,或者是一个句子中的字符串。变量的独特之处在于它存放的数值是可以改变的。
  • 变量是计算机内存中存储数据的标识符,根据变量名称可以获取或修改内存中存储的数据

⏰ 怎么定义变量?

  • 语法
    var 变量名称 = 数据;
    // or
    let 变量名称 = 数据;

    定义变量有两个关键词 var/let,var 是过去定义变量的方式,let 是现在定义变量的方式。它们之间的区别需要学习完作用域之后再来解释。

    使用 var/let 关键字,告诉浏览器,我们要定义一个变量,使用=号告诉浏览器,我们要把左边的数据存储到变量里面,当我们想使用这个数据的时候,就可以直接使用这个变量代替这个实际数据。

    // 案例1:
    var userName = prompt('请输入你的姓名');
    console.log(userName);
    // 案例2:
    var num1 = 10;
    var num2 = 20;
    // 计算两个数字的和
    console.log(num1 + num2);

    定义变量可以分为两个过程:变量声明和变量赋值:

    // 变量声明
    var num;
    // or
    let num;
    ​
    // 变量赋值
    num = 10;
    // or
    num = 10;

    变量是变化的量,我们可以重新给变量赋值:

    let num = 20;
    num = 100;
    console.log(num);

    变量可以一次定义多个并同时赋值

    var a = 10, b = 20, c;
    console.log(a, b, c);
    // or
    let a = 10, b = 20, c;
    console.log(a, b, c);

⏰ 数据如何在内存中存储的

下面我们来了解是如何通过变量名称找到内存中对应的数据的。

⏰ 变量的命名规则和规范

  • 规则 - 必须遵守的,不遵守会报错
    • 由字母、数字、下划线、$符号组成,不能以数字开头
    • 不能是关键字和保留字,例如:for、while。
    • 区分大小写
    • 使用 let 定义的变量名不能重复会冲突,使用 var 定义的变量名可以重复。
  • 规范 - 建议遵守的,不遵守不会报错
    • 变量名必须有意义
    • 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。例如:userName、userPassword
  • 下面哪些变量名不合法
    a       
    1
    age18
    18age
    name
    $name
    _sex
    &sex
    theworld  theWorld
    // 变量名字是区分大小写的
    var a = 10;
    console.log(a);// 正常输出
    console.log(A);// 在控制台中报错:Uncaught ReferenceError: A is not defined
    // ReferenceError - 引用错误
    // not defined - 未定义
    // 意思是 A 这个变量我们没有定义就使用了,可见a和A是不一样的,不是同一个变量

⏰ 关键字

关键字是在JavaScript语法中,具有特殊意义的单词,比如我们学习过的用于声明变量的var

// 变量名字不能使用关键字
var var = 20;
// 会在控制台中报错: Uncaught SyntaxError: Unexpected token var
// token - 标记,记号,在编程中我们翻译成 '标识符'
// 意思是这行有一个语法错误,出现了一个意料之外的标识符 var

⏰ 保留字

JavaScript 是不断发展的,以前的功能用了以前的关键字,将来要加入新的功能的时候,可能要用到新的关键字,所有 JavaScript 在一开始的时候就保留了部分单词,以便将来把保留的单词作为关键字

JavaScript 有一些保留字,不能用作标识符:
arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield。

常量

常量跟变量非常相似,也是通过一个标识符来访问内容中的数据,但是跟变量不同的是常量中的数据是不可以修改的。

常量用来存储不可修改的数据,例如:数据中的 π。

// 计算圆的面积
// π 是常量不可被修改
const PI = 3.1415926;
// 半径
let r = 5;
// 圆的面积
let area = PI * r * r;

如果在某个位置 PI 的值被别人修改了,未来圆的面积会计算错误。

使用 const 定义的常量是不能被修改的,我们可以尝试一下:

PI = 5;
// 未捕获的类型错误:赋值给常量
// Uncaught TypeError: Assignment to constant variable.

☘️: 常量的命名一般都大写,代表常量。

posted on 2022-11-01 16:41  梁飞宇  阅读(26)  评论(0)    收藏  举报