JavaScript——運算符的優先級和結合性

目錄

任務描述

相關知識

運算符的優先級

運算符的結合性

編程要求

任務描述

本關任務:我們將給出函數mainJs()的完整代碼,要求在函數體內第三句以及第五句中添加適當的括號,實現編程要求里面的要求。

要想完成本關任務,必須熟悉運算符的優先級和結合性,請閱讀下面的相關知識。

相關知識

運算符的優先級

JavaScript 中運算符的優先級和數學中運算符的優先級意思相同,優先級高的運算符比優先級低的運算符先計算,例如數學中1+2*3算式,先計算2*3,結果再與1相加,所以乘法的優先級高于加法,在 JavaScript 中,不同的優先級也是這個作用。

下面是常見的運算符的優先級:

分類運算符含義結合性
1++前后增量R
1--前后減量R
1邏輯非R
2* / %乘 除 求余L
3+ -加減L
4< <= > >=比較數字順序L
4in測試屬性是否存在L
5==判斷相等L
5!=判斷不等L
6&按位與L
7&&邏輯與L
8?:條件運算符R
9=賦值R
9+= -= *= /= %=運算且賦值R
10,忽略第一個操作數L

從上到下優先級逐漸降低。第一欄數字相同的運算符優先級相同,對于這個表格,不需要全部記住,但是常見的需要記住,比如加減乘除的優先級高于比較運算符,賦值運算符的優先級幾乎是最低的,下面給出例子幫助理解:

var a = 1;
var b = 2;
var c = ++a+b;

因為++的優先級高于+,所以上面的第三個句子等價于:

var c = (++a)+b;

運算符的結合性

運算符的優先級是針對不同優先級的運算符來說的,對于同一級的運算符,運算順序取決于運算符的結合性,比如加法和減法的優先級相同,而加法和減法都是從左向右結合,所以a+b-c式中,會先計算a+b,即按照閱讀的順序計算。

也有很多運算符是從右到左結合的,比如取反、邏輯非。

上面圖中的第三欄就是結合性,R 表示從右向左結合,L 表示從左到右結合,從左向右的占多數,這和我們在數學中的習慣相同。

var d = a*b/c;    // 先計算乘法后計算除法
var aa = 2;
var bb = 3;
var cc = aa *= bb;    // 先計算aa*=bb,再把結果賦值給cc,為6

上面第一個式子是從左到右結合,第四個式子是從右到左結合。 分別等價于:

var d = (a*b)/c;
var cc = (aa *= bb);

編程要求

本關的編程任務是補全右側代碼片段中 Begin 至 Eend 中間的代碼,在函數體內第三句以及第五句添加適當的括號,以實現如下功能:

  • 參數 a 先減去1,所得差再與參數 b 相加,然后將結果再與 b 相乘;

  • 上面的結果為24則給參數 c 賦值1,否則賦值0;

  • 計算 c 與 d 的積,這個積再與參數 d 求和,所得結果賦值給參數 e;

  • 函數參見下面的測試說明部分。

本關涉及的代碼文件Priority.js的代碼框架如下:

function mainJs(a,b) {var a = parseInt(a);var b = parseInt(b);// 請在此處編寫代碼/********** Begin **********/var c = --a+b*b==24?1:0;var d = 4;var e = c*=d+d;/********** End **********/return e;
}

答案

function mainJs(a,b) {var a = parseInt(a);var b = parseInt(b);// 請在此處編寫代碼/********** Begin **********/var c = (--a+b)*b==24?1:0;var d = 4;var e = (c*=d)+d;/********** End **********/return e;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/38621.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/38621.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/38621.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一點連接千家銀行,YonSuite讓“銀企對賬”一鍵確認

在當今數智化浪潮下&#xff0c;成長型企業面臨著前所未有的機遇與挑戰。特別是在與銀行的對接以及銀企對賬等方面&#xff0c;傳統的手動操作模式已難以滿足企業高效、安全的金融管理需求。用友YonSuite作為一款全場景SaaS應用服務&#xff0c;憑借其強大的銀企直聯功能&#…

AI在線免費視頻工具3:聲音生視頻

1、聲音生視頻 Noisee&#xff1a;通過聲音生成對應視頻&#xff0c;可以增加prompt指定生成內容相關視頻 https://noisee.ai/create

【基礎篇】第5章 Elasticsearch 數據聚合與分析

在Elasticsearch的龐大功能體系中&#xff0c;數據聚合與分析扮演著至關重要的角色&#xff0c;它使我們能夠從海量數據中提煉出有價值的信息&#xff0c;為決策提供依據。本章將深入探討Elasticsearch的聚合功能&#xff0c;從基本概念到常見類型的實踐&#xff0c;讓你掌握如…

Elasticsearch 使用誤區之二——頻繁更新文檔

在使用 Elasticsearch 時&#xff0c;頻繁更新文檔是一種常見誤區。這不僅影響性能&#xff0c;還可能導致系統資源的浪費。 理解 Elasticsearch 的文檔更新機制對于優化性能至關重要。 關于 Elasticsearch 更新操作&#xff0c;常見問題如下&#xff1a; ——https://t.zsxq.c…

Spring Cloud實戰:構建分布式系統解決方案

Spring Cloud實戰&#xff1a;構建分布式系統解決方案 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;今天我們將深入探討如何使用Spring Cloud來構建分布式系統…

剖析DeFi交易產品之UniswapV4:概述篇

本文首發于公眾號&#xff1a;Keegan小鋼 UniswapV4 與 UniswapV3 相比&#xff0c;算法上并沒有什么改變&#xff0c;依然還是采用集中流動性模型&#xff0c;但架構上變化很大&#xff0c;包括功能架構&#xff0c;也包括技術架構。相比之前的版本&#xff0c;UniswapV4 最大…

百元藍牙耳機推薦2024,百元藍牙耳機排行榜盤點

在2024年面對琳瑯滿目的藍牙耳機選項&#xff0c;消費者往往難以抉擇&#xff0c;特別是在預算有限的情況下&#xff0c;如何在眾多產品中挑選出既滿足質量又符合預算的耳機成為了一個不小的挑戰。 為了幫助大家在繁多的選擇中找到真正物有所值的百元藍牙耳機&#xff0c;我們…

UnityUGUI之一:image和Rawimage

image組件的相關屬性 其中SpriteMode&#xff0c;若為單個圖片則為Single&#xff0c;圖片集則為Multiple 圖集的切割 點擊Slice可以進行自動切割 為且每個格子都可以進行單獨的九宮格切割 當圖片被九宮格切割再進行拉伸以后&#xff0c;九宮格的四角不會被拉伸 Tiled&#x…

構建支持多平臺的返利App跨平臺開發策略

構建支持多平臺的返利App跨平臺開發策略 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;今天我們將討論如何構建支持多平臺的返利App&#xff0c;特別關注跨平臺…

一棵B+樹可以存放多少行數據

以MySQL InnoDB為例。InnoDB存儲引擎最小儲存單元是頁&#xff0c;一頁大小固定是16KB&#xff0c;使用該引擎的表為索引組織表。B樹葉子存的是數據&#xff0c;內部節點存的是鍵值和指針。索引組織表通過非葉子節點的二分查找法以及指針確定數據在哪個頁中&#xff0c;進而再去…

數據治理不再頭疼,篩斗數據為您打造無縫數據處理體驗

在當今數字化時代&#xff0c;數據已成為企業最寶貴的資產之一。然而&#xff0c;隨著數據量的激增和數據來源的多樣化&#xff0c;數據治理成為許多企業面臨的一大挑戰。繁瑣的數據提取、混亂的數據結構和不清晰的數據質量&#xff0c;往往讓企業陷入數據處理的泥潭。幸運的是…

如何在本地一鍵配置最強國產大模型

自從OpenAI的ChatGPT橫空出世以來&#xff0c;國內外各類大語言模型&#xff08;LLM&#xff09;層出不窮&#xff0c;其中不乏Google的Gemini、Claude、文心一言等等。相較于競爭激烈的商業模型賽道&#xff0c;以Llama為代表的開源大模型的進步速度也十分驚人。 伴隨著大語言…

CP AUTOSAR標準之MemoryAccess(AUTOSAR_CP_SWS_MemoryAccess)(更新中……)

1 簡介和功能概述 該規范描述了AUTOSAR基礎軟件模塊內存訪問(MemAcc)的功能、API和配置。 ??內存訪問模塊通過基于地址的API提供對不同內存技術設備的訪問。內存訪問模塊始終由一個或多個內存驅動程序(Mem)補充。內存訪問模塊與內存設備技術無關,可與閃存、EEPROM、RAM或相變…

Python Tkinter:開發一款文件加密解密小工具

在這個信息泄露風險日益增加的時代&#xff0c;使用文件加密工具對于保護個人隱私和企業機密至關重要。 本文介紹了一款小工具——encryptDecrypt&#xff0c;它不僅提供了一個易于使用的圖形界面&#xff0c;簡化了加密和解密過程&#xff0c;還確保了數據的安全性&#xff0c…

深入解析 androidx.databinding.BaseObservable

在現代 Android 開發中&#xff0c;數據綁定 (Data Binding) 是一個重要的技術&#xff0c;它簡化了 UI 和數據之間的交互。在數據綁定框架中&#xff0c;androidx.databinding.BaseObservable 是一個關鍵類&#xff0c;用于實現可觀察的數據模型。本文將詳細介紹 BaseObservab…

python-求s=a+aa+aaa+aaaa+aa...a的值(賽氪OJ)

[題目描述] 求 saaaaaaaaaaaa...a 的值&#xff0c;其中 a 是一個一位的整數。 例如 &#xff1a;2222222222222222(此時共有 5 個數相加)。輸入格式&#xff1a; 整數 a 和 n &#xff08; n 個數相加&#xff09;。輸出格式&#xff1a; s 的值。樣例輸入 2 2樣例輸出 24數據…

WSL——忘記root密碼(Ubuntu)

1、問題描述 Windows下的WSL&#xff08;Ubuntu&#xff09;忘記了root密碼&#xff0c;無法使用管理員權限。 2、解決方法 關閉 Ubuntu 窗口。打開 Windows 的 Powershell 或 cmd&#xff0c; 以 root 默認登陸 WSL。 wsl -u root 修改對應用戶密碼。 # xxx為要修改密碼的用…

Stable Diffusion【真人模型】:人臉特美的人像攝影大模型wuhaXL_realisticMixV3.0

今天和大家分享一個基于SDXL的真人大模型&#xff1a;wuhaXL_realisticMix。該模型無需使用LORA**就能生成的特別漂亮的人臉&#xff0c;雖然有時候人臉有些假&#xff0c;但是生成的人臉確實非常漂亮。 該模型底模融合了WhiteXL_realisticMix&#xff0c;訓練素材來自于視頻轉…

Dockerfile構建一個包含多個SpringBoot應用程序的鏡像

為什么要使用Dockerfile 構建一個包含多個SpringBoot應用程序的鏡像呢&#xff1f; 1、可移植性&#xff1a;Dockerfile 定義了一個標準化的方式來構建Docker鏡像&#xff0c;意味著無論在哪個系統上(只要它支持Docker)&#xff0c; 都可以使用相同的Dockerfile來構建完全相同的…

pytorch統計學分布

1、pytorch統計學函數 import torcha torch.rand(2,2) print(a) print(torch.sum(a, dim0)) print(torch.mean(a, dim0)) print(torch.prod(a, dim0))print(torch.argmax(a, dim0)) print(torch.argmin(a, dim0)) print(torch.std(a)) print(torch.var(a)) print(torch.median…