亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

原生JS實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能

 更新時(shí)間:2022年04月02日 18:10:47   作者:weixin_51276799  
這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了JS實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能的具體代碼,供大家參考,具體內(nèi)容如下

使用html和css寫出計(jì)算器的基本結(jié)構(gòu)和樣式,用原生JS實(shí)現(xiàn)計(jì)算器的加減乘除運(yùn)算功能,只能計(jì)算簡(jiǎn)單的兩位數(shù)的運(yùn)算,不支持三個(gè)數(shù)連加或者連乘等等。一次計(jì)算完成之后再進(jìn)行下一次運(yùn)算不需要clear,可以直接進(jìn)行下次運(yùn)算。具體實(shí)現(xiàn)如下:

html結(jié)構(gòu):

<div id="box">
? ? ? ? <!-- 文本框要禁止用戶輸入,只能通過(guò)代碼中的input.value來(lái)修改 -->
? ? ? ? <input id="display" type="text" value="0" disabled> ? ?
? ? ? ? <div class="btn">1</div>
? ? ? ? <div class="btn">2</div>
? ? ? ? <div class="btn">3</div>
? ? ? ? <div class="btn">+</div>
? ? ? ? <div class="btn">4</div>
? ? ? ? <div class="btn">5</div>
? ? ? ? <div class="btn">6</div>
? ? ? ? <div class="btn">-</div>
? ? ? ? <div class="btn">7</div>
? ? ? ? <div class="btn">8</div>
? ? ? ? <div class="btn">9</div>
? ? ? ? <div class="btn">*</div>
? ? ? ? <div class="btn">C</div>
? ? ? ? <div class="btn">0</div>
? ? ? ? <div class="btn">=</div>
? ? ? ? <div class="btn">/</div>
</div>

css樣式:

#box {
? ? ? ? ? ? width: 500px;
? ? ? ? ? ? height: 600px;
? ? ? ? ? ? border: 1px solid #000000;
? ? ? ? }
?
? ? ? ? #display {
? ? ? ? ? ? width: 460px;
? ? ? ? ? ? height: 60px;
? ? ? ? ? ? margin: 15px;
? ? ? ? ? ? text-align: right;
? ? ? ? ? ? font-size: 60px;
? ? ? ? ? ? line-height: 60px;
? ? ? ? ? ? overflow: hidden;
? ? ? ? ? ? /* overflow: hidden; ?溢出隱藏 */
? ? ? ? ? ? /* text-overflow: ellipsis; ?文本溢出時(shí)顯示省略號(hào) ?*/
? ? ? ? ? ? /* word-wrap: none; ? 強(qiáng)制不換行 */
? ? ? ? ? ? background: #ffffff;
? ? ? ? }
?
? ? ? ? .btn {
? ? ? ? ? ? width: 100px;
? ? ? ? ? ? height: 100px;
? ? ? ? ? ? border: 1px solid #000000;
? ? ? ? ? ? float: left;
? ? ? ? ? ? margin: 10px 11px;
? ? ? ? ? ? font-size: 40px;
? ? ? ? ? ? line-height: 100px;
? ? ? ? ? ? text-align: center;
? ? ? ? ? ? user-select: none;
?}

JS代碼:

firstValue這個(gè)全局變量存儲(chǔ)第一次輸入的數(shù),input的input.value屬性也是一個(gè)變量,這個(gè)值既作為頁(yè)面上顯示的內(nèi)容,也是輸入的數(shù)值。讓這兩個(gè)值進(jìn)行運(yùn)算,結(jié)果再顯示到輸入框中即可。bool變量作用:當(dāng)一次運(yùn)算完成之后所有數(shù)值清零。

如果要實(shí)現(xiàn)用上一次的結(jié)果繼續(xù)參與運(yùn)算這個(gè)功能,可以再設(shè)置一個(gè)全局變量result來(lái)存儲(chǔ)每次運(yùn)算后的結(jié)果,當(dāng)下次輸入運(yùn)算符號(hào)時(shí),判斷firstValue和result,再?zèng)Q定用哪個(gè)值計(jì)算。當(dāng)點(diǎn)擊C按鈕時(shí),所有值清空,返回初始狀態(tài)。

var input = document.getElementById("display");
var btnCollection = document.getElementsByClassName("btn");
var type;
var firstValue = 0;
var bool = false;
?
? ?for (var i = 0; i < btnCollection.length; i++) {
? ?// 獲取到每個(gè)按鍵并添加點(diǎn)擊事件。點(diǎn)擊后會(huì)觸發(fā)function中代碼執(zhí)行。
? ? ? ? ? ? btnCollection[i].onclick = function () {
? ? ? ? ? ? ? ? if(bool){
? ? ? ? ? ? ? ? ? ? input.value = "0";
? ? ? ? ? ? ? ? ? ? firstValue = 0;
? ? ? ? ? ? ? ? ? ? type = undefined;
? ? ? ? ? ? ? ? ? ? bool = false;
? ? ? ? ? ? ? ? }
?
? ? ? ? ? ? ? ? // input.value = this.innerHTML; ? ? ?//顯示點(diǎn)擊的數(shù)字在文本框內(nèi)
?
? ? ? ? ? ? ? ? if (!isNaN(Number(this.innerHTML))) {
? ? ? ? ? ? ? ? ? ? input.value = Number(input.value + this.innerHTML).toString();
? ? ? ? ? ? ? ? } else if (this.innerHTML !== "C" && this.innerHTML !== "=") {
? ? ? ? ? ? ? ? ? ? firstValue = Number(input.value);
? ? ? ? ? ? ? ? ? ? type = this.innerHTML;
? ? ? ? ? ? ? ? ? ? input.value = 0;
? ? ? ? ? ? ? ? } else if (this.innerHTML === "C") {
? ? ? ? ? ? ? ? ? ? firstValue = 0;
? ? ? ? ? ? ? ? ? ? type = undefined;
? ? ? ? ? ? ? ? ? ? input.value = "0";
? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? switch (type) {
? ? ? ? ? ? ? ? ? ? ? ? case "+":
? ? ? ? ? ? ? ? ? ? ? ? ? ? input.value = (Number(input.value) + firstValue).toString();
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? case "-":
? ? ? ? ? ? ? ? ? ? ? ? ? ? input.value = (firstValue - Number(input.value)).toString();
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? case "*":
? ? ? ? ? ? ? ? ? ? ? ? ? ? input.value = (Number(input.value) * firstValue).toString();
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? case "/":
? ? ? ? ? ? ? ? ? ? ? ? ? ? input.value = (firstValue / Number(input.value)).toString();
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? bool = true;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何理解JS函數(shù)防抖和函數(shù)節(jié)流

    如何理解JS函數(shù)防抖和函數(shù)節(jié)流

    函數(shù)防抖和函數(shù)節(jié)流都是對(duì)函數(shù)進(jìn)行特殊的設(shè)置,減少該函數(shù)在某一時(shí)間段內(nèi)頻繁觸發(fā)帶來(lái)的副作用。二者只是采用的設(shè)置方式和原理不一樣,其最終的目的是一樣的。
    2021-05-05
  • js實(shí)現(xiàn)旋轉(zhuǎn)木馬效果

    js實(shí)現(xiàn)旋轉(zhuǎn)木馬效果

    本文主要介紹了js實(shí)現(xiàn)旋轉(zhuǎn)木馬效果的實(shí)例。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • JavaScript實(shí)現(xiàn)信用卡校驗(yàn)方法

    JavaScript實(shí)現(xiàn)信用卡校驗(yàn)方法

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)信用卡校驗(yàn)方法,涉及javascript使用Luhn算法進(jìn)行校驗(yàn)的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 詳釋JavaScript執(zhí)行環(huán)境與執(zhí)行棧

    詳釋JavaScript執(zhí)行環(huán)境與執(zhí)行棧

    一句話就可以概括:代碼 ( 包括函數(shù) ) 執(zhí)行時(shí)所需要的所有信息就是執(zhí)行環(huán)境。由于 ES 歷經(jīng)多個(gè)版本,所以執(zhí)行環(huán)境的標(biāo)準(zhǔn)也一直在變。文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 微信小程序功能之全屏滾動(dòng)效果的實(shí)現(xiàn)代碼

    微信小程序功能之全屏滾動(dòng)效果的實(shí)現(xiàn)代碼

    最近小編做項(xiàng)目遇到這樣的需求,要求實(shí)現(xiàn)一個(gè)全屏滾動(dòng)的效果,在網(wǎng)上找了實(shí)例代碼,但是不是很完美,小編又結(jié)合自己的知識(shí)給大家補(bǔ)充下,對(duì)微信小程序全屏滾動(dòng)效果的實(shí)例代碼感興趣的朋友參考下本文吧
    2018-11-11
  • js 對(duì)象是否存在判斷

    js 對(duì)象是否存在判斷

    js 對(duì)象是否存在,然后進(jìn)行下一步的操作。
    2009-07-07
  • 詳解如何使用JavaScript構(gòu)建主題切換器

    詳解如何使用JavaScript構(gòu)建主題切換器

    這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript構(gòu)建一個(gè)主題切換器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • 一步一步教你寫帶圖片注釋的淡入淡出插件(四)

    一步一步教你寫帶圖片注釋的淡入淡出插件(四)

    第三部分的效果已經(jīng)基本上滿足大部分的需求了。所以這一部分呢,只能算是加分項(xiàng)。廢話不多說(shuō)了,還是繼續(xù)博文吧。
    2010-10-10
  • Javascript實(shí)現(xiàn)簡(jiǎn)易天數(shù)計(jì)算器

    Javascript實(shí)現(xiàn)簡(jiǎn)易天數(shù)計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了Javascript實(shí)現(xiàn)簡(jiǎn)易天數(shù)計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 微信小程序?qū)崿F(xiàn)全局搜索代碼高亮的示例

    微信小程序?qū)崿F(xiàn)全局搜索代碼高亮的示例

    本篇文章主要介紹了微信小程序?qū)崿F(xiàn)全局搜索代碼高亮的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03

最新評(píng)論