JavaScript進(jìn)階練習(xí)及簡單實(shí)例分析
當(dāng)用戶點(diǎn)擊”統(tǒng)計(jì)“按鈕時(shí),在窗口中彈出文本框中出現(xiàn)次數(shù)最多的字符并顯示其出現(xiàn)的次數(shù)
點(diǎn)擊統(tǒng)計(jì)按鈕時(shí)效果如圖所示:
實(shí)現(xiàn)代碼:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script type="text/javascript">
window.onload = function () { //獲取表單對象 var form = document.getElementById("myform"); //給“統(tǒng)計(jì)”按鈕注冊單擊事件 form.btn.onclick = function () { //獲取文本框中的值 var txt = form.name.value; //定義一個(gè)空的js對象用于保存文本空中的所有字符及出現(xiàn)的次數(shù) var json = {}; //遍歷文本框中的值也就是txt變量中保存的字符串 for (var i = 0; i < txt.length; i++) { //提取txt字符串中下標(biāo)為i的子符并判斷json對象是否未定義屬性名為給字符符的屬性 if (!json[txt.charAt(i)]) { //沒有定義則定義該屬性(表示在文本框中出現(xiàn)的字符)并賦值為1,代表該屬性對應(yīng)的字符在文本框中出現(xiàn)的次數(shù) json[txt.charAt(i)] = 1; } else { //已經(jīng)定義則將該屬性的值加1,也就是將代表該屬性對應(yīng)的字符在文本框中出現(xiàn)的次數(shù)加1 json[txt.charAt(i)]++; } } //定義兩個(gè)變量 var maxnum = 0;//代表文本框中出現(xiàn)次數(shù)最多的字符出現(xiàn)的次數(shù)默認(rèn)為0 var char = "";//代表文本框中出現(xiàn)次數(shù)最多的字符默認(rèn)為空 //遍歷json對象的屬性值 for (var i in json ) { if (json[i]>maxnum) { //如果json該屬性的值大于maxnum(也就是說該屬性對應(yīng)的字符再問本框中出現(xiàn)的次數(shù)比之前的所有字符都要打)則將其賦值給maxnum并將其屬性名賦值給char maxnum = json[i]; char = i; } } alert("文本框中出現(xiàn)最多的字符是:" + char + " 出現(xiàn)的次數(shù)是:" + maxnum); } }; </script> </head> <body> <form id="myform"> <input type="text" name="name" value="123" /> <input type="button" name="btn" value="統(tǒng)計(jì)"/> </form> </body> </html>
js對象屬性可以后期添加的特點(diǎn)、對象屬性的遍歷等js對象的綜合運(yùn)用。
js相關(guān)的知識(shí)可以參考javascript對象的相關(guān)操作
以上這篇JavaScript進(jìn)階練習(xí)及簡單實(shí)例分析就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript實(shí)現(xiàn)的多種鼠標(biāo)拖放效果
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的多種鼠標(biāo)拖放效果,涉及JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)變換頁面元素屬性的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
ES6?class類實(shí)現(xiàn)繼承實(shí)例詳解
傳統(tǒng)的javascript中只有對象,沒有類的概念,下面這篇文章主要給大家介紹了關(guān)于ES6?class類實(shí)現(xiàn)繼承的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10
bootstrap時(shí)間控件daterangepicker使用方法及各種小bug修復(fù)
這篇文章主要介紹了bootstrap時(shí)間控件daterangepicker使用方法,及各種小bug修復(fù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
利用JS測試目標(biāo)網(wǎng)站的打開響應(yīng)速度
本文簡單說明利用JS來測試目標(biāo)網(wǎng)站的打開響應(yīng)速度,方法簡單明了大家一看就明白并附上了腳本源碼2017-12-12
基于javascript canvas實(shí)現(xiàn)五子棋游戲
這篇文章主要介紹了基于javascript canvas實(shí)現(xiàn)的五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07
JS實(shí)現(xiàn)的小火箭發(fā)射動(dòng)畫效果示例
這篇文章主要介紹了JS實(shí)現(xiàn)的小火箭發(fā)射動(dòng)畫效果,涉及javascript基于時(shí)間函數(shù)的頁面元素屬性動(dòng)態(tài)變換實(shí)現(xiàn)運(yùn)動(dòng)效果相關(guān)操作技巧,需要的朋友可以參考下2018-12-12
推薦5 個(gè)常用的JavaScript調(diào)試技巧
這篇文章主要介紹了推薦5 個(gè)常用的JavaScript調(diào)試技巧,需要的朋友可以參考下2015-01-01
javascript實(shí)現(xiàn)拖動(dòng)層效果代碼(符合標(biāo)準(zhǔn)且兼容IE,chrome,firefox)
javascript實(shí)現(xiàn)拖動(dòng)層,原理很簡單,就是根據(jù)鼠標(biāo)的位置實(shí)時(shí)設(shè)置層的left和top2013-06-06
js onmousewheel事件多次觸發(fā)問題解決方法
做一個(gè)首屏和第二屏之間滾動(dòng)鼠標(biāo)滾輪就可以整平切換的效果,遇到了很多問題,下面是問題解決方法2014-10-10



