首頁 web前端 前端問答 javascript語法基本要素是什麼

javascript語法基本要素是什麼

Jan 19, 2022 pm 02:33 PM
javascript

javascript語法基本要素是值、運算子、表達式、關鍵字和註解;javascript每條語句是以分號結束,如果一條語句佔一行,可以不用寫分號。

javascript語法基本要素是什麼

本文操作環境:Windows7系統、javascript1.8.5版、DELL G3電腦

JavaScript語法

#js語句是由哪些基本要素組成,js值與運算子使用需要注意的有哪些?

什麼是文法,其實,文法就是一套規則。就像我們學習語文的時候,學習主謂賓、定狀補一樣。 JS也有文法,也有它自己的一套規則。

就像我們說話一樣,我們說話的內容是由一些列語句構成的,JS程式也是由一些列語句構成的。

我們說話是一句一句的說,程式的執行也是一句一句的執行。

在前端,JS程式是由瀏覽器執行的。

JS語句是由值、運算子、表達式、關鍵字和註解構成的。這就類似我們平常說的每一句話是由一個一個的字組成的一樣。

每條語句是以分號結束。

如果一條語句佔一行,可以不用寫分號。但是,我建議大家養成寫分號的習慣,這樣會避免出現很多不必要的麻煩。

JS會忽略多個空格,為了增強可讀性,我建議大家在程式碼裡加入空格,例如下面兩行程式碼:

var name = "刘小妞";var name="刘小妞";
登入後複製

這兩句是一樣的,但是,第一句我們在等號的左右兩邊加了空格,看起來會舒服很多。

JS語句可以用花括號{}括起來,花括號裡的程式碼稱為程式碼區塊。程式碼塊通常被用到函數裡,函數我們在後面會講到。

下面我們就來介紹JS語句裡的值、運算子、表達式、關鍵字、註解。

- 註釋

在程式碼裡適當的加入註釋,還是有必要的。既增強程式碼的可讀性,也有利於程式碼的調試。

註解主要是為程式碼添加說明的,解釋目前程式碼的功能。

註解的內容是不會被執行的。

註解分為單行註解和多行註解。

單行註解以 // 開頭,// 後面的內容不會被執行。舉個例子:

//给变量a赋值1
var a = 1 ;
var b = 2 ; //给变量b赋值2
单行注释的位置,通常在代码上面单独一行或者代码后面。

多行注释以 /* 开头,以 */ 结尾。这个和CSS的注释一样。
多行注释也叫注释块。写个例子。

/*
下面代码是给变量a和b赋值
a的值是1,b的值是2。
*/
var a = 1 ;
var b = 2 ;

一般情况下,单行注释就足够了。
登入後複製

我們偵錯程式碼的時候,也常常會用到註解。例如:

//var a = 1;
var a = 2;
登入後複製

我們可以透過加入註解的方法,不用來回的敲程式碼。

- JS的值

JS語句定義了三種類型的值:混合值、變數值、常數值。

混合值稱為字面量,變數值稱為變量,常量值稱為常數。

字面量也叫直接量,就是看見什麼,就是什麼。也可以理解成是一個值。例如數值,1就是1,2就是2,也可以是小數,例如字串,字串是文本,由雙引號或單引號包圍,例如:「劉小妞」、『劉小妞』。也可以是一個陣列、一個物件。

字面量通常出現在賦值運算子右邊,賦值運算子下面會單獨介紹。舉個例子:

var a = "刘小妞"; //a是变量,等号右边的字符串刘小妞是字面量。
登入後複製

變數和常數是用來儲存資料值的,它們是容器。

變數用關鍵字var來聲明,常數用const宣告。

變數和常數的差別是,變數是儲存可變的值,可以被多次賦值;常數儲存不可變的值,不能被多次賦值。

常數宣告的時候必須有初始值,變數可以沒有。一般,常量都用大寫。

JS的三種值通常用在賦值裡。

- JS的運算子

運算子應該不陌生,我們小學數學就學過。例如,算數運算子有:加減乘除,比較運算子有:大於、等於、小於。 JS裡的運算子和數學裡的運算子類似,只不過比小學數學裡的多一些,稍微有一點點差別。我們來一一介紹。

JS常用的運算子包括以下幾種:

賦值運算子
算數運算子
比較運算子
邏輯運算子
類型運算子

賦值運算子:(=)

賦值運算子是一個等號,我們在小學數學裡,等號是用來比較的。但是在JS裡,一個等號是用來賦值的,我們上面介紹值的時候,說JS的三種值通常用在賦值裡,就是用等號來實現賦值的。舉個例子:

var a = 1; //等号左边a是变量,等号右边1是字面量,等号是赋值运算符,通过赋值运算符把1赋值给了变量a。
登入後複製

一個等號是最基本的賦值運算符,還有一些高級一點的賦值運算符,它們不只是賦值,還有邏輯計算的功能,這個我們在介紹完了其他幾種運算符之後,再來介紹。

-JS的 算数运算符

加法运算符:(+)

加法运算符有点特殊,因为在JS里,加号(+)也表示连接。所以,需要看加号两边值的类型。

1、加号两边都是数字,结果是两个数字相加的结果。比如:

var a = 1 + 1 ; //a的值是2
登入後複製

2、加号两边都是字符串,结果是两个字符串拼接。比如:

var a = '我是刘小妞'  + '栖息地' ; //a的结果是:“我是刘小妞栖息地”
登入後複製

3、加号两边一个数字一个字符串,结果是数字和字符串拼接成的字符串。比如:

var a = 1 + '刘小妞' ; //a的结果是:“1刘小妞”var a = '刘小妞' + 10 ; //a的结果是:“刘小妞10”
登入後複製

减法运算符:(-)
乘法运算符:(*)
除法运算符:(/)

减、乘、除,这三个和我们数学运算符的作用是一样的,只不过,符号不太一样。乘法用星号,除法用斜杠。

系数运算符:(%)它是返回余数。比如:

var a = 8 % 3; //a的值是2
登入後複製

递增运算符:(++)对数值进行递增,比如:

var a = 1;a++;var b = a;  //b的值是2
登入後複製

递增就是在原来的基础上加1。

递减运算符:(–)对数值进行递减

var a = 10;a--;var b = a;  //b的值是9
登入後複製

递减就是在原来的基础上减1。

说一下a++和++a的区别吧。在赋值的时候,它们两个的执行顺序是不一样的。比如:

var a = 1;var b = a++; //b的值1。
登入後複製

a++是先赋值,再递增。

var a = 10;var b = ++a; //b的值是11。
登入後複製

++a是先递增,再赋值。

a–和--a也是类似的。a–先赋值再递减,–a先递减再赋值。

这个也好记,就是值和运算符谁在前面,就先执行谁。

运算符的优先级和小学数学里的一样,计算顺序是从左到右,先乘除后加减,有括号的,先算括号里的。

-JS的比较运算符

大于运算符:(>)
小于运算符:(>)
大于或等于运算符:(>=)
小于或等于运算符:(<=)
等于运算符:(==)
等值等型运算符:(===)
不相等运算符:(!=)
不等值或不等型运算符:(!==)
三元运算符:(?)

大于、小于、大于等于、小于等于这四种和数学里的一样,我就不解释了。我重点讲下面的5种运算符。

等于运算符:(==),它的作用和数学里的一个等号是一样的,因为JS里一个等号被用做赋值了,所以,等于运算符用了两个等号。

等值等型运算符:(===),等值等型运算符是三个等号,它比两个等号严格一些,不仅两个数值要相等,两个值的类型也需要相等。

JS里有很多数据类型,有字符串,有数值等等,数据类型以后如果写的话再单独写,今天简单提一下。举个例子:

var a = &#39;123&#39; ;var b = 123 ;
登入後複製

a和b,a是字符串,b是数值。

a和b用两个等号比较,是相等的;用三个等号比较是不相等的。因为它们两个的数据类型不一样。

不相等运算符:(!=)
不等值或不等型运算符:(!==)

这两个和上面的等于运算符:(==)等值等型运算符:(===)类似。只不过,它俩比较的是不相等。

在讲三元运算符之前,我先介绍一个数据类型:布尔值

它有两个值:true和false。true是真,false是假。在写条件判断的时候,我们经常会用到这两个值。true就是条件成立,false就是条件不成立。

三元运算符:(?),也叫条件运算符,它这个稍微复杂一点。它一般是用在条件赋值里。格式如下:

var a = (condition) ? value1 :value2;
登入後複製

括号里是条件,如果condition的值是true,也就是条件成立,a的值就是value1,否则,a的值是value2。

写个小例子:

var a = 1 ;var b = (a>0) ? 2 : 3 ;  //b的值是2
登入後複製

三元运算符,我们在后面讲条件语句的时候,还会提到。

- JS的逻辑运算符

逻辑与运算符:(&&)
逻辑或运算符:(||)
逻辑非运算符:(!)

逻辑运算符总共三个,。它们一般是用在条件语句里的判断。

一般是连接多个判断条件,判断条件通常是用比较运算符连接。

逻辑与连接的多个运算结果都为真,它的结果才会是真,否则为假。
逻辑或连接的多个运算结果,有一个为真,它就为真。

举个例子:

var a = 1 ;var b = 5 ;var c = (a>0 && b<10); //c的值为truevar d = (a<0 || b<10); //d的值为true
登入後複製

逻辑非是取反。如果当前是真(true),取反就是假,当前是假,取反就是真。

写个例子:

var a = 1 ;var b = 5 ;var c = (a==b); //c的值是falsevar d = !c ; //d的值是true
登入後複製

逻辑运算符从字面意思也能理解。
就是并且的意思;就是或者的意思;就是相反的意思。

说一下前面说的高级一点的赋值运算符吧。其实,高级一点的运算符就是把上面说的运算符综合运用了一下。列几个常用的吧。

赋值运算符:(+=),比如:a += b 等价于 a = a + b
赋值运算符:(-=),比如:a -= b 等价于 a = a - b
赋值运算符:(*=),比如:a *= b 等价于 a = a * b
赋值运算符:(/=),比如:a /= b 等价于 a = a / b
赋值运算符:(%=),比如:a %= b 等价于 a = a % b

- JS的表达式

表达式是值和运算符的组合,计算结果是值。

我们前面介绍值和运算符的时候,其实一直在写表达式。比如:

1 + 1a + 1"刘小妞" + "栖息地"
登入後複製

- JS的关键词

关键词是JS自己保留的单词,这些单词都是有特定功能的,我们在定义变量的时候,不能用关键词。下表是常用的关键词。

javascript語法基本要素是什麼

推荐学习:《javascript基础教程

以上是javascript語法基本要素是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用WebSocket和JavaScript實現線上語音辨識系統 如何使用WebSocket和JavaScript實現線上語音辨識系統 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術 WebSocket與JavaScript:實現即時監控系統的關鍵技術 Dec 17, 2023 pm 05:30 PM

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何利用JavaScript和WebSocket實現即時線上點餐系統 如何利用JavaScript和WebSocket實現即時線上點餐系統 Dec 17, 2023 pm 12:09 PM

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

如何使用WebSocket和JavaScript實現線上預約系統 如何使用WebSocket和JavaScript實現線上預約系統 Dec 17, 2023 am 09:39 AM

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript與WebSocket:打造高效率的即時天氣預報系統 JavaScript與WebSocket:打造高效率的即時天氣預報系統 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

簡易JavaScript教學:取得HTTP狀態碼的方法 簡易JavaScript教學:取得HTTP狀態碼的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

javascript如何使用insertBefore javascript如何使用insertBefore Nov 24, 2023 am 11:56 AM

用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個新的節點。這個方法需要兩個參數:要插入的新節點和參考節點(即新節點將要插入的位置的節點)。

JavaScript與WebSocket:打造高效率的即時影像處理系統 JavaScript與WebSocket:打造高效率的即時影像處理系統 Dec 17, 2023 am 08:41 AM

JavaScript是一種廣泛應用於Web開發的程式語言,而WebSocket則是一種用於即時通訊的網路協定。結合二者的強大功能,我們可以打造一個高效率的即時影像處理系統。本文將介紹如何利用JavaScript和WebSocket來實作這個系統,並提供具體的程式碼範例。首先,我們需要明確指出即時影像處理系統的需求和目標。假設我們有一個攝影機設備,可以擷取即時的影像數

See all articles