溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript可不可以寫后端

發(fā)布時(shí)間:2022-06-16 10:09:31 來(lái)源:億速云 閱讀:416 作者:zzz 欄目:web開發(fā)

今天小編給大家分享一下JavaScript可不可以寫后端的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

JavaScript可以寫后端;JavaScript可以利用“Node.js”來(lái)實(shí)現(xiàn)后端開發(fā),“Node.js”是一個(gè)讓JavaScript運(yùn)行在服務(wù)端的開發(fā)平臺(tái),是一個(gè)事件驅(qū)動(dòng)“I/O”服務(wù)端JavaScript環(huán)境,可以將“Node.js”理解為運(yùn)行在服務(wù)端的JavaScript,因此JavaScript可以寫在后端。

本教程操作環(huán)境:windows10系統(tǒng)、javascript1.8.5版、Dell G3電腦。

JavaScript可以寫后端嗎

JavaScript可以寫后端。JavaScript可以通過Node.js技術(shù)來(lái)實(shí)現(xiàn)后端開發(fā),Node.js是一個(gè)讓JavaScript運(yùn)行在服務(wù)端的開發(fā)平臺(tái)。

Node.js是一個(gè)讓 JavaScript 運(yùn)行在服務(wù)端的開發(fā)平臺(tái),它讓 JavaScript 成為與PHP、Python、Perl、Ruby 等服務(wù)端語(yǔ)言平起平坐的腳本語(yǔ)言。

首先要清楚Node不是一個(gè)Web服務(wù)器,這十分重要。它本身并不能做任何事情。它無(wú)法像Apache那樣工作。如果你希望它成為一個(gè)HTTP服務(wù)器,你必須借助它內(nèi)置庫(kù)自己編寫。Node.js只是計(jì)算機(jī)上執(zhí)行代碼的另一種方式,它是一個(gè)簡(jiǎn)單的JavaScript Runtime.

簡(jiǎn)單的說 Node.js 就是運(yùn)行在服務(wù)端的 JavaScript。

Node.js 是一個(gè)基于Chrome JavaScript 運(yùn)行時(shí)建立的一個(gè)平臺(tái)。

Node.js是一個(gè)事件驅(qū)動(dòng)I/O服務(wù)端JavaScript環(huán)境,基于Google的V8引擎,V8引擎執(zhí)行Javascript的速度非???,性能非常好。

JavaScript寫后端時(shí)出現(xiàn)的一些問題:

一、浮點(diǎn)型數(shù)據(jù)失去精度問題:

浮點(diǎn)型又分為單精度浮點(diǎn)型(float)和雙精度浮點(diǎn)型(double ),在強(qiáng)類型語(yǔ)言中(C,JAVA)中有詳細(xì)的說明,在 JS 中統(tǒng)稱為數(shù)值型(Number)。有興趣的讀者可以去了解相關(guān)知識(shí),本文繼續(xù)回到上面的問題。

首先看一下失去精度問題的表現(xiàn)情況,源碼如下:

console.log(0.1+0.2);    //0.30000000000000004

本應(yīng)該結(jié)果是 0.3 才對(duì),可是運(yùn)行結(jié)果出現(xiàn)了迷之問題。這在后端開發(fā)中是絕對(duì)不允許存在的,這個(gè)問題不只在JS中出現(xiàn),經(jīng)測(cè)試JAVA,PHP都存在該問題,C不存在該問題。其它語(yǔ)言咋也沒學(xué)過??!咋也不知道??!

說完問題,接下來(lái)說一說解決辦法,源碼如下:

const floatAdd = (arg1, arg2) => {
    let r1,r2,m;
    try {
    r1 = arg1.toString().split(".")[1].length;
    } catch(e) {
    r1 = 0;
    }
    try {
    r2 = arg2.toString().split(".")[1].length;
    } catch(e) {
    r2 = 0;
    }
    m  =Math.pow(10,Math.max(r1,r2));
    return (arg1*m+arg2*m)/m;
};
 
console.log(floatAdd(0.1,0.2));    // 0.3

二、toFixed()四舍五入的BUG:

toFixed() 方法使用定點(diǎn)表示法來(lái)格式化一個(gè)數(shù)值。簡(jiǎn)單點(diǎn)來(lái)說,就是對(duì)數(shù)據(jù)進(jìn)行四舍五入的處理,定點(diǎn)表示要保留的小數(shù)位數(shù)。

示例:

let a=1.115;
console.log(a.toFixed(2))    //1.11

以上就是“JavaScript可不可以寫后端”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI