Day-06 始於足下:基本语法、陈述句与宣告

至此,常见的JavaScript资料型别已具列完毕,行将踏出实作的步伐。在此之前,再就三个部份进行一些补充。

基本语法

从若干前文前例中,已能领略JavaScript基本语法的撰写、存取及通常逻辑。但这些范例都是以独立js档为存在前提的。若要在网页中实际使用它,既可以「写在网页中」,也可以「写成js档再import入网页中」。本例示范第一种作法。

想在HTML网页中撰写有效的JavaScript功能,只须将JavaScript程序码放在以一组标签包住的区域中即可。比方说,若想在网页开启时就跳出「Hello World」讯息的话,只需要:

<!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>
</head>
<body>
    <script type="text/javascript">
        window.alert('Hello World');
    </script>
    <noscript>OOPS! 你的浏览器不认得JS,该升级罗。</noscript>
</body>
</html>

若成功,以浏览器打开网页就会显示:
https://ithelp.ithome.com.tw/upload/images/20210921/201410413de5gSKsmZ.jpg

其中的noscript会在浏览器不支援JavaScript时显示。

为顾及维护方便与载入效率,建议将的JavaScript元素放在以下两种地方:

一、body标签中的/body闭标签前
由於浏览器习惯将网页读完後才渲染,因此可以将JavaScript元素放在网页尾端,让网页最後读取,再开始执行动作脚本(script)。

二、head标签中
然而,若body标签中内容要呼叫JavaScript中的函数时,就必须将JavaScript元素先放在head标签中才能有效。

陈述句

JavaScript程序通常由一个以上的陈述句(statement)所组成,如前例的 window.alert('Hello World'); 就是一条陈述句。撰写时,通常遵循以下规则。

一、句尾分号

习惯上,每一行陈述句句尾应加分号(;),代表一句陈述句的结束。虽然不加也不会出错,但可能会造成段落部明确问题。端看个人、各单位习惯而定。

二、语句中可分行、包空白

承前例,只要不破坏单字、方法或运算子本身,换行、缩排是允许的。如以下写法依旧有效:

window.
    alert
        ('Hello World');

惟有关作为,仍请以程序易读性、有意义唯依归。此例就是一个不好的范例。

三、大小写有别

在陈述句的世界里,大小写被视为不同。如下例将「alert」误为「Alert」即为错误:

window.Alert('Hello World');

四、多行可浓缩为一

多条以上陈述句接成一行,是可行的。但对於程序码追踪、程序可读性可能是反效果,应酌情使用。如下例所示

window.alert('Hello World'); window.alert('迎向世界'); 

宣告

一、基本作法

如前文所述,原则上使用变数就必须先宣告变数(即使不宣告,直接给变数赋值也有效,但强烈不建议)。以var宣告为例,基本的宣告命令结构为:var 变数名 [=初始值], …

若要宣各多个变数,可以写为:

var x;
var y; 

或是以一个var宣告之:

var x, y;

宣告变数加上等号(=),就是指定一个初始值(= 的後面)给变数(= 的前面)。如:

var hello = ‘欢迎来到新世纪’;
var x = 21;

若无赋值,则变数的预设值就是undefined。

二、不同的宣告法

自2015年的ES6规格开始,增加了新宣告命令「let」。其用法与var基本相同,变数赋值也能重新指定,差别在於:

  1. let不允许同名变数重复宣告
  2. let宣告有效范围限於各区块(block)内,而可避免如var宣告影响其他block(被宣告为全域变数)
  3. 承上,所以常常用在函式(function)中的区块、回圈或数学演算的括号中。

基於let宣告规则更明确、更易於控制与细部操作,通常在JavaScript变数时会优先使用let宣告。

此外,若须宣告更严谨、不会变动的变数值(比如圆周率、微中子质量…etc),即可使用const宣告。经其宣告,变数即完成初始化,赋值无法被重新指定,永远固定。如:

const PI = 3.14159

综上,如今的JavaScript宣告多以严谨的let(宣告变数)、const(宣告常数)为主,除非标的明确,否则使用var宣告则易有更多覆盖/被覆盖的风险孳生。


<<:  成员 9 人:在办公室内,建立时空虫洞

>>:  [Day13] Node.js & NPM

Day23 | Livewire 实作 购物网站(二): 建立商品细节页面

有了商品列表,那应该要能点进去看商品的细节吧。所以今天就是来做点进去後的商品细节页! 今日目标:商品...

[Day 2] -『 GO语言学习笔记』- GO语言简介

GO语言简介 Go(Golang)是Google开发的一种语言。2007年,Google设计Go原先...

Day 04 Compoent及路由介绍

由於笔者当初是用ASP.NET Core API + Blazor Server,所以会以Blazo...

[DAY 10] AWS RDS

再来写一点关於在 AWS 上的 reational database 有关的资讯, 也就是在 AW...

Day 27 | CSS Image Block Reveal Hover Effects

今天想要分享的是这个, 记得我当时看到这个效果的时候觉得真的是炫炮过头了, 马上整个影片看完做练习,...