了保障【正整數】的正確性,做成了通過Jquery,在用戶端,實時驗證指定長度的【正整數】的方法。
HTML代碼
<input type="text" class="force-number-format-10" .../>
JS調用方法
$(document.body).find("input[type=text]").each(function() {
// 驗證輸入內容
callCustomiseInputCheck(this);
});
驗證【正整數】類型方法
function callCustomiseInputCheck(inputObject) {
jQuery.each(inputObject.classList, function(itemIndex, classItem) {
if (/^force\-number\-format\-\d{1,}$/.test(classItem)) {
//例:<input type="text" class="force-number-format-10" .../>
// 方法【runInputFilter】,參照文章【Jquery實時驗證,只能輸入指定長度的數字】
runInputFilter(inputObject, ',', function(value) {
var strRegExp='^\\d{0,' + classItem.split('-')[3] + '}$';
var regExp=RegExp(strRegExp);
return regExp.test(value);
});
//格式化
postLostFocus(inputObject, function(inputObject) {
if (inputObject.value !=null) {
inputObject.value=inputObject.value.replaceAll(/^(0*)(\d*\d{1})$/ig, function($0, $1, $2) {
return $2;
});
}
inputObject.value=CommonUtilJs.addComma(inputObject.value);
});
}
});
}
共通處理方法
家好,很高興又見面了,我是姜茶的編程筆記,我們一起學習前端相關領域技術,共同進步,也歡迎大家關注、點贊、收藏、轉發,您的支持是我不斷創作的動力
鐵子們!從 2024/07/26 開始,我們進入算法專題篇的學習啦 。學習計劃如下:
1?? 每日一題;
2?? 學習順序是由易到難;
3?? 題目按照數據結構進行分類;
4?? 每個類型的題目預計安排 100 道題(簡單/中等/困難各 33 道);
給定一個由 整數 組成的 非空 數組所表示的非負整數,在該數的基礎上加一。
最高位數字存放在數組的首位, 數組中每個元素只存儲單個數字。
你可以假設除了整數 0 之外,這個整數不會以零開頭。
示例 1:
輸入:digits=[1,2,3]
> 輸出:[1,2,4]
> 解釋:輸入數組表示數字 123。
示例 2:
輸入:digits=[4,3,2,1]
> 輸出:[4,3,2,2]
> 解釋:輸入數組表示數字 4321。
示例 3:
輸入:digits=[0]
> 輸出:[1]
提示:
要解決這個問題,我們可以從數組尾部開始往前掃,逐位進位即可。最高位如果還有進位需要在數組里面第 0 位再插入一個 1 。以下是詳細的解釋和多種解決方法:
通過從數組的末尾開始,逐位處理進位問題,直到處理完所有需要進位的情況。
var plusOne=function (digits) {
for (let i=digits.length - 1; i >=0; i--) {
if (digits[i] < 9) {
digits[i]++;
return digits;
}
digits[i]=0;
}
digits.unshift(1);
return digits;
}
使用遞歸方法處理每一位上的加法和進位問題。這種方法在實際應用中不如方法一高效,但它展示了不同的思維方式。
var plusOne=function (digits) {
function helper(index) {
if (index===-1) {
digits.unshift(1);
return;
}
if (digits[index] < 9) {
digits[index]++;
return;
}
digits[index]=0;
helper(index - 1);
}
helper(digits.length - 1);
return digits;
}
在實際應用中,遍歷加法是解決這個問題的最佳選擇,因為它不僅能在 O(n) 的時間復雜度內高效處理加一操作,而且實現簡單易懂。遞歸方法雖然展示了不同的思維方式,但在性能和實現復雜度上不如遍歷加法法優越。
附件:
如果有任何問題或建議,歡迎在評論區留言交流!祝你編程愉快!
嘍,大家好啊,這里是雷工筆記,我是雷工。
數據類型比較常見,無論是對程序員,還是電氣工程師來說,都再熟悉不過了,這里跟著教程了解一下,主要看跟自己以往在其他PLC,C#,組態軟件中應用的有啥不同。
在計算機的世界就像黑客帝國中的超級計算機,其中的人、物其實都是虛擬的數據。
數據類型:用來在計算機中標記程序的運算規則的。
計算機程序可以處理海量的數據,為啥要給數據分類?
1、為了更加充分和高效的應用計算機內存。
2、為了更加方便程序猿合理的使用數據。
JavaScript中的數據類型整體分為兩大類:
1、基本數據類型;
2、引用數據類型(復雜類型);
數字型即我們小學中學到的數字,可以是整數、小數、正數、負數。
數字類型:只要變量的值是純數字,且沒有引號,那么當前變量就是數字類型。
相比其他組態軟件中分16位整型,雙整型,有符號,無符號,浮點數等類型要簡單些。
示例:
let age=20 //整數
let pi=3.14 //小數
在JavaScript語言中正數、負數、小數等統稱為數字類型Number。
注意事項:
1、JavaScript語言屬于弱數據類型,變量到底屬于什么類型,需要等賦值后,才能確定。
2、Java語言屬于強數據類型,例如:int b=4;定義時就確認了,必須是整數。
1、數字類型在程序中可以有許多操作,例如,加+,減-,乘*、除/,等待,經常涉及運算。
運算涉及到算術運算符,也稱作數學運算符,主要包括加、減、乘、除、取余等。
2、說到計算就涉及計算的優先級,在JavaScript中的優先級和小學數學中的算術優先級一樣,都是先乘除,后加減,想改變加括號。
3、NaN代表一個計算錯誤。它是一個不正確的或者一個未定義的數學操作所得到的結果。
示例:
console.log('老師'-2) //NaN
NaN是粘性的。任何對NaN的操作都會返回NaN。
示例:
console.log(NaN +2) //NaN
1、通過單引號(‘’)、雙引號(“”)包裹的數據都叫字符串,單引號和雙引號沒有本質上的區別,推薦使用單引號。
示例:
let myName='雷工筆記' //使用單引號
let name=“雷工” // 使用雙引號
let tel='18712345678' // 看上去是數字,但是是引號包裹了,就是字符串。
let str=‘ ’ // 這種是空字符串
2、注意事項:
2.1、無論單引號或是雙引號必須成對應用;
2.2、單引號/雙引號可以互相嵌套,但是不可以自己嵌套自己;
2.3、必要時可以使用轉義符\,輸出單引號或者雙引號。
3、拼接字符串
使用場景:+運算符,可以實現字符串的拼接。
使用口訣:數字相加,字符相連;
示例:
document.write(‘我是’+‘雷工筆記’) //我是雷工筆記
let myName=‘高啟強’
let work=‘賣魚’
document.write( myName + work) //高啟強賣魚
注意:
只要變量中有一個數據類型是字符串類型,那么在計算的時候遇到加號,則直接拼接字符串;
如果遇到除加號以外的符號,那么計算機先將字符串轉換為對應的數字,然后再計算,
4、模板字符串
4.1、應用場景
拼接字符串和變量
在沒有它之前,要拼接變量比較麻煩
示例:
document.write(‘哈嘍,大家好,我是’+name+‘!今年‘+age+歲’)
4.2、模板字符串語法
● ``(反引號)
●在模板字符串中通過${變量}獲取變量的值。
● 反引號在英文輸入模式下,鍵盤鍵Tab上面那個按鍵(1左邊那個按鍵)
● 內容拼接時,用${}包裹住變量。
示例:
document.write(`哈嘍,大家好,我是${name}!今年${name}歲`)
好像C#中也有類似的應用方法。
表示開關量,是或否時在計算機中對應的是布爾類型。
他有兩個固定的值,True與False,表示真時用true,表示假時用False。
true:代表正確的,條件成立的;
False:代表錯誤的,條件不成立的;
示例:
//雷工筆記有趣嘛?
let isFun=true
console.log(isFun)
7.1、未定義是比較特殊的類型,只有一個值undefined。
7.2、什么情況下出現?
只聲明變量,不賦值的情況下,變量的默認值為undefined,一般很少【直接】為某個變量賦值為undefined。
undefined值本身表示的含義未定義;
示例:
let name // 聲明變量但是未賦值
document.write(name) //輸出undefined
7.3、實例場景:
我們開發中經常聲明一個變量,等待傳送過來的數值。
如果我們不確定這個數據是否有傳遞過來,此時我們可以通過檢測這個變量是不是undefined,來確定是否有數據傳遞過來。
8.1、如果變量的值是null,那么變量的數據類型叫空類型,——對象類型。
JS中的null僅僅是一個表示“無”、“空”或“值未知”的特殊值。
示例:
let name=null
console.log(name) //null
8.2、null和undefined的區別:
● undefined表示木有賦值
● null 表示賦值了,但是內容為空
8.3、null實例場景:
官方說明:把null作為尚未創建的對象。
將來有個變量里面存放的是一個對象,但是對象還沒創建好,可以先給個null
以上為學習JavaScript基礎知識數據類型的相關筆記。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。