亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

用JQuery寫一個(gè)計(jì)算器

wanghui / 1600人閱讀

摘要:因?yàn)橛X得的界面比漂亮一些,所以最近正在把博客遷移到這邊來,這幾天多發(fā)了兩篇作為一個(gè)學(xué)習(xí)中練手的小,選了一個(gè)計(jì)算器。,選取一個(gè)字符串的指定長度的字符。檢查元素是否含有指定的類名。代碼經(jīng)過初步測試,能正常使用。

因?yàn)橛X得segment fault的markdown界面比CSDN漂亮一些,所以最近正在把博客遷移到這邊來,這幾天多發(fā)了兩篇.....

作為一個(gè)學(xué)習(xí)中練手的小demo,選了一個(gè)計(jì)算器。原因大概只是因?yàn)樵缇拖胱?,比較簡單,又確實(shí)有很多地方不太清楚,所以選了這個(gè)玩意,其實(shí)看網(wǎng)上的許多源碼,做起來不是很難,但是我還是寫了差不多一個(gè)禮拜,每天中午午休的一個(gè)小時(shí)加上下班后的1個(gè)小時(shí),星期天也弄了差不都一天,終于基本把整體的功能都完成了,后期我想再迭代優(yōu)化一下,加上一些CSS3的動(dòng)畫和響應(yīng)式的功能,讓這個(gè)小demo可以在手機(jī)上跑起來。不過這都是后話了。

廢話不多說,上代碼吧:



    
        
        在線計(jì)算器
        
        
    
    
        
x
AC
+/-
÷
7
8
9
×
4
5
6
-
1
2
3
+
0
.
=
代碼知識點(diǎn)

因?yàn)橹饕昧薐Q的代碼,所以知識點(diǎn)主要是JQ的。

1.substr(start,length):選取一個(gè)字符串的指定長度的字符。
start為必須參數(shù),是字符串開始位置的index值,length非必須,指定字符串的長度。這個(gè)方法會(huì)返回指定的字符串。

2.hasClass(className):檢查元素是否含有指定的類名。
className不需要帶“.”。常用if判斷;例:

`if($(this).hasClass("btn_plus")){
change=1;
}`

3.其他的代碼十分常用,也沒有必要一一列出了。

實(shí)現(xiàn)原理

由于在網(wǎng)上看的代碼太長,理解夠嗆,所以這個(gè)demo基本上是筆者自己的創(chuàng)作,其中某些思想有借鑒網(wǎng)絡(luò),但主要的實(shí)現(xiàn)皆為本人。

原理是將數(shù)字存儲(chǔ)為字符串result,按運(yùn)算符(+-*/)的時(shí)候存儲(chǔ)字符串result為第一個(gè)數(shù)字result_1,同時(shí)根據(jù)按的不同的運(yùn)算符,賦給變量change不同的值;并且把result清空以便保存第二個(gè)字符串。再輸入完第二段字符串時(shí),把它再次賦給result,當(dāng)按等于符的時(shí)候,把result賦給result_2;同時(shí),根據(jù)change值的不同,進(jìn)行不同的運(yùn)算,得出結(jié)果,顯示在屏幕上。

其中用了大量的if判斷,以至于層層疊疊,我都怕會(huì)出什么問題......

最后附上我的github地址,如果你覺得對你有幫助的話,請盡情地用fork和star來“羞辱”我吧!

問題

說不上來問題在哪,感覺代碼寫得太亂,有點(diǎn)隨機(jī)應(yīng)變的感覺,沒有很好地做到事先規(guī)劃,有一種頭疼醫(yī)頭腳疼醫(yī)腳的感覺。

1.在處理負(fù)號符的時(shí)候,導(dǎo)致了result的值有時(shí)是字符串,有時(shí)又是數(shù)字,我的初衷是在處理字符本身的時(shí)候始終以字符串的形式存在,當(dāng)要調(diào)整正負(fù)和運(yùn)算的時(shí)候再變成數(shù)字,可是由于后期的代碼變得冗長,導(dǎo)致我自己越來越糊涂,只能應(yīng)付了事。

2.迭代。我本來希望能在一個(gè)禮拜做成一個(gè)能在手機(jī)使用的小應(yīng)用,但是由于時(shí)間的計(jì)劃不太合理,前期的基本功能用了太久才完成。后面我想完善起來,結(jié)合響應(yīng)式,這應(yīng)該不難。

PS:代碼經(jīng)過初步測試,能正常使用。大神發(fā)現(xiàn)有什么bug的,歡迎拍磚指點(diǎn)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/92854.html

相關(guān)文章

  • 26天學(xué)通前端開發(fā)(配資料)

    摘要:網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知識點(diǎn)羅列為主或是資料的匯總,數(shù)據(jù)量讓新人望而卻步。天了解一個(gè)前端框架。也可以關(guān)注微信公眾號曉舟報(bào)告,發(fā)送獲取資料,就能收到下載密碼,網(wǎng)盤地址在最下方,獲取教程和案例的資料。 前言 好的學(xué)習(xí)方法可以事半功倍,好的學(xué)習(xí)路徑可以指明前進(jìn)方向。這篇文章不僅要寫學(xué)習(xí)路徑,還要寫學(xué)習(xí)方法,還要發(fā)資料,干貨滿滿,準(zhǔn)備接招。 網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知...

    blair 評論0 收藏0
  • Dom詳解

    摘要:例子第三級的同級的第二個(gè)獲取元素復(fù)制代碼兩個(gè)都包含的元素,一個(gè)在文檔樹的前面,但是它在第三級,另一個(gè)在文檔樹的后面,但它在第一級,通過獲取元素時(shí),它通過深度優(yōu)先搜索,拿到文檔樹前面的第三級的元素。對象就是通過包裝對象后產(chǎn)生的對象。 DOM JavaScript 的組成 組成部分 說明 Ecmascript 描述了該語言的語法和基本對象 DOM 描述了處理網(wǎng)頁內(nèi)容的方法和接...

    liuhh 評論0 收藏0
  • 前端知識普及之頁面加載

    摘要:如果你的文件涉及操作,可以直接在里面添加回調(diào)函數(shù),或者說基本上我們的文件都可以寫在里面進(jìn)行調(diào)用其實(shí),這和我們將文件放在底部,在上面加以及異步加載文件的效果是一樣一樣的。 如果大家想繼續(xù)看下面的內(nèi)容的話,有一個(gè)要求,就是回答我一個(gè)問題:你這樣寫過代碼嗎? window.onload = function(){ $(.gravatar).on(click,function(){ ...

    tianyu 評論0 收藏0
  • jquery貪吃蛇

    需要具備知識:1.html、css基礎(chǔ)2.jquery基礎(chǔ) 具體實(shí)現(xiàn)方法: 創(chuàng)建游戲界面 .bts { display: flex; } .bt { width: 60px; height: 24px; line-height: 24px...

    gitmilk 評論0 收藏0
  • jquery貪吃蛇

    需要具備知識:1.html、css基礎(chǔ)2.jquery基礎(chǔ) 具體實(shí)現(xiàn)方法: 創(chuàng)建游戲界面 .bts { display: flex; } .bt { width: 60px; height: 24px; line-height: 24px...

    h9911 評論0 收藏0

發(fā)表評論

0條評論

wanghui

|高級講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<