JavaScript內(nèi)置對(duì)象Math與String詳細(xì)介紹
Math對(duì)象
js內(nèi)置數(shù)學(xué)對(duì)象 不是一個(gè)構(gòu)造函數(shù) 所以不需要使用new來(lái)調(diào)用 而是直接使用里面的屬性和方法即可
- Math.PI 圓周率
- Math.floor 向下取整 小數(shù)點(diǎn)直接省略
- Math.ceil 向上取整 有小數(shù)點(diǎn)直接+1
- Math.round 四舍五入 就近原則(-1.5 結(jié)果是 -1)
- Math.abs() 絕對(duì)值就是這數(shù)字到原點(diǎn)(0)的距離有隱式轉(zhuǎn)換 會(huì)把字符串轉(zhuǎn)成數(shù)字 不是數(shù)字的字符串NaN
- Math.max() 最大值 Math.min() 最小值 要傳入要比較的參數(shù)(數(shù)組) 其中有 非數(shù)字的 就返回NaN 不寫(xiě)參數(shù)直接返回Infinity-無(wú)窮大 -Infinity-負(fù)的無(wú)窮大
代碼演示 順便封裝一個(gè)建議的取最大最小值的函數(shù)
console.log(Math.PI) // 一個(gè)屬性 圓周率
console.log(Math.max(1,2,3)) // 其中有 非數(shù)字的 是NaN
console.log(Math.max()) // -Infinity 什么都沒(méi)有 負(fù)的無(wú)窮大
var myMath = {
PI:Math.PI,
max:function(){
var max = arguments[0]
for(var i = 0;i < arguments.length;i++){
if(max < arguments[i]){
max = arguments[i]
}
}
return max
},
min:function(){
var min = arguments[0]
for(var i = 0;i < arguments.length;i++){
if(min > arguments[i]){
min = arguments[i]
}
}
return min
}
}
console.log(myMath.PI) 圓周率
console.log(myMath.max(-1,5,0)) 5
console.log(myMath.min(-1,5,0)) -1
console.log(Math.floor(1.9)) 向下取整 結(jié)果 1
console.log(Math.ceil(1.1)) 向上取整 結(jié)果 2Math獲取隨機(jī)數(shù)
Math.random() 不用填寫(xiě)參數(shù) 對(duì)象隨機(jī)數(shù)方法 返回一個(gè)隨機(jī)的小數(shù) 0 =< x <1
官方推薦寫(xiě)法得到兩個(gè)數(shù)之間的隨機(jī)整數(shù) 并且包括這兩個(gè)數(shù)
Math.floor(Math.random() * (max - min +1)) +min
console.log(Math.random())
function getRandom(min,max){
return Math.floor(Math.random() * (max - min +1)) +min;
}
// 隨機(jī)點(diǎn)餐
var food = [
'烤肉飯',
'懷府源拉面',
'相思味快餐',
'清風(fēng)炒面',
'燴面',
'饸烙面',
'麻辣香鍋',
'山西刀削面',
'哨子面',
'蜀蜀的粉',
'旋轉(zhuǎn)小火鍋',
'小過(guò)道快餐',
'美團(tuán)雙人餐',
'油潑面',
]
console.log("明天中午吃" + food[getRandom(0,food.length-1)])
// 三次機(jī)會(huì)猜牌點(diǎn)
function getRandom(min,max){
return Math.floor(Math.random() * (max - min +1)) +min;
}
var num = getRandom(1,13)
var i = 0
while(i<3){
var aaa = prompt("猜猜是哪一張撲克牌(1-13)")
if(aaa > num){
alert("猜大了")
}else if(aaa < num){
alert("猜小了")
}else if(aaa = num){
alert("猜對(duì)了")
break
}
i++;
}
if(i >= 3){
alert('三次機(jī)會(huì)已經(jīng)用完')
}
console.log("答案是"+num)
console.log("你猜的結(jié)果"+aaa) String對(duì)象
srting.indexOf('xx'):查找xx在string 第一次出現(xiàn)的索引值 可傳入第二個(gè)參數(shù) 從被檢索的哪一處開(kāi)始向后查詢 可以使用while 循環(huán) 進(jìn)行字段 全部檢索
var article = "后購(gòu)玉者引眾人評(píng)理,眾人皆言二人有約不守,有言無(wú)信。\n匠人自覺(jué)面頰臊熱,躬身拱手曰:余琢玉十七載,未嘗失信于人,此玉誓死必琢之!\n青年雖有苦卻難言,憤然離席曰:吾借刀筆,撰雕玉之文以明心志,告辭!\n眾購(gòu)玉者重金求玉而不得,遭人恥笑,胸中大悲,不能自已。\n今人評(píng)曰:玉不琢,不成器。人無(wú)信不立,業(yè)無(wú)信不興。\n二人背信毀約,購(gòu)玉者何錯(cuò)之有?\n世人吁二人冰釋前嫌,合力琢玉成器,棠玉既成,以約交付,方為正道。\n匠人攜青年,青年助匠人,顧百姓之安危,救民眾于水火,創(chuàng)絕世之佳作,流芳百世!"
console.log(article)
var index = article.indexOf("青年"),index2 = article.indexOf("匠人")
var appear1 = [],appear2 = []
while(index !== -1){
appear1.push(index)
index = article.indexOf("青年",index+1)
}
console.log("青年出現(xiàn)了" +appear1.length + "次")
console.log("分別在" + appear1)
while(index2 !== -1){
appear2.push(index2)
index2 = article.indexOf("匠人",index2+1)
}
console.log("匠人出現(xiàn)了" +appear2.length + "次")
console.log("分別在" + appear2)// 根據(jù)位置返回字符
console.log(article.charAt(156))
// ASCII 碼 鍵盤(pán)對(duì)應(yīng)的碼 判斷用戶按下了哪一個(gè)鍵
console.log(article.charCodeAt(156))
// H5 新增
console.log(article[99])
// 文中出現(xiàn)最多的字符串
var o ={}
for(var i = 0;i<article.length;i++){
var chars = article.charAt(i)
if(o[chars]){
o[chars]++
}else{
o[chars] = 1
}
}
console.log(o)
//2. 遍歷對(duì)象
var max = 0
var ch = ""
for(var k in o){
// k 得到的是 屬性名
// o[k] 得到的是屬性值
if(o[k] > max){
max = o[k]
ch = k
}
}
console.log("出現(xiàn)次數(shù)最多是" + ch +"它出現(xiàn)了" + max + "次")
// 字符串的拼接和截取
var myName = "wusonggang"
console.log(myName.concat("WEB")) // 一般用加號(hào)多一些
// 2.substr(起始的位置,要截取的長(zhǎng)度)
console.log(article.substr(84,10))
// 3.slice(起始的位置,截取最后的位置)
console.log(article.slice(129,199))
// 3.substring(起始的位置,截取最后的位置)
console.log(article.substring(77,111))
// 替換字符
console.log(article.replace("青年","JAVD")) // 只會(huì)替換第一個(gè)
// 用 條件判斷 全部替換
while(article.indexOf("匠人") !== -1){
article = article.replace("匠人","阿鋼")
}
console.log(article)
// 字符轉(zhuǎn)換為數(shù)組 split('分隔符') 和join 對(duì)應(yīng)
var str7 = "red,pink,black"
console.log(str7.split(","))
var str8 = "red&pink&black"
console.log(str8.split("&"))
var str9 = "WuSongGang"
console.log(str9.toLowerCase())// 全部小寫(xiě)
console.log(str9.toUpperCase())// 全部大寫(xiě)到此這篇關(guān)于JavaScript內(nèi)置對(duì)象Math與String詳細(xì)介紹的文章就介紹到這了,更多相關(guān)JS Math與String內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS實(shí)現(xiàn)針對(duì)給定時(shí)間的倒計(jì)時(shí)功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)針對(duì)給定時(shí)間的倒計(jì)時(shí)功能,結(jié)合具體實(shí)例形式分析了javascript日期時(shí)間的正則判定與動(dòng)態(tài)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-04-04
javascript String 的擴(kuò)展方法集合
String 的擴(kuò)展方法集合,可以是javascript對(duì)string的功能更多2008-06-06
詳解JavaScript中的強(qiáng)制類型轉(zhuǎn)換
這篇文章主要介紹了JavaScript中的強(qiáng)制類型轉(zhuǎn)換,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Javascript var變量刪除原理及實(shí)現(xiàn)
這篇文章主要介紹了Javascript var變量刪除原理及實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
JS運(yùn)動(dòng)框架之分享側(cè)邊欄動(dòng)畫(huà)實(shí)例
這篇文章主要介紹了JS運(yùn)動(dòng)框架之分享側(cè)邊欄動(dòng)畫(huà),實(shí)例分析了javascript操作div及css的技巧,需要的朋友可以參考下2015-03-03

