JS個人筆記

前端在一串字符中取出數(shù)字的方法:

var id_num = parseInt(num.replace(/[^0-9]/ig,""))

何為json叔营?

JSON 是 JS 對象的字符串表示法块茁,它使用文本表示一個 JS 對象的信息课幕,本質(zhì)是一個字符串酒朵。

# JSON對象:
var obj = {a: 'Hello', b: 'World'}; //這是一個對象纺涤,注意鍵名也是可以使用引號包裹的
# JSON字符串:
var json = '{"a": "Hello", "b": "World"}'; //這是一個 JSON 字符串译暂,本質(zhì)是一個字符串
# JSON對象轉(zhuǎn)JSON字符串:
var json = JSON.stringify({a: 'Hello', b: 'World'}); //結(jié)果是 '{"a": "Hello", "b": "World"}'
# JSON字符串轉(zhuǎn)JSON對象:
var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //結(jié)果是 {a: 'Hello', b: 'World'}

js中map的坑

map是js所獨有的一種騷操作:

let b = [1,2,3,4,5,6,7,8]
b.map(t => {const t2 = t+2;return t2} )
// 輸出:[3, 4, 5, 6, 7, 8, 9, 10]

JS實現(xiàn)滾動功能:

// 滾動
let scrollStep =  fetch.scrollStep; //每次滾動的步長
let scrollEnable =  fetch.scrollEnable // 是否需要啟動滾動
let scrollPosition =  fetch.scrollPosition // 滾動到哪個位置
while (scrollEnable) {
    scrollEnable =  page.evaluate((scrollStep,scrollPosition) => {
        let scrollTop = document.scrollingElement.scrollTop;
        document.scrollingElement.scrollTop = scrollTop + scrollStep;
        if (scrollPosition) {
            return fetch.scrollPosition > scrollTop + 768 ? true : false
        }else{
            return document.body.clientHeight > scrollTop + 768 ? true : false
        }
    }, scrollStep,scrollPosition);
     page.waitFor(fetch.scrollTime) // 每次滾動的間隔時間
}

Js中的正則匹配

// 取出里面的字母
const a = "12312424oitett56456uuuu785843uiokmn";
const reg = /\d+/g;
// 定義一個數(shù)組用于保存匹配到信息
let result = []; 
let temp = "";
while(temp = reg.exec(a)){
   result.push(temp[0])
}

Js中的對象的常用方法

# 1.instanceof 操作符
var arr = [1,2,3,1]; 
console.log(arr instanceof Array) // true 
# 2.對象的constructor屬性 
alert(arr.constructor === Array); // true 

JS中判斷一個數(shù)組是否為空的辦法

if(Array.prototype.isPrototypeOf(res) && res.length === 0) console.log("空數(shù)組")

JS中快速生成數(shù)組的方法:

// 生成的JSON
Array.from(new Array(10), (v,i) => { return {number: i}});
// 生成的一個0到9的數(shù)組
Array.from(new Array(10), (v,i) => return i );

JS中調(diào)用promise對象的問題

const a = () => {
    return new Promise((resolve,reject) => {
        setTimeout(() => {
            resolve(1) 
        },1000)
    })
}

const b = async () => {
    const c = await a()
    console.log(`這是結(jié)果1:${c}`)
    return c
}

// 如果需要調(diào)用b來實現(xiàn)調(diào)用a的話直接:
// const c = b()  這樣是不行的,會得到promise[pending]
// 需要這樣
const c = await b()

js 中合并兩個對象的方法

// 方法一(使用jQuery)
var a = {o:123,p:234};
var b = {n:456,m:678};
var c = $.extend(a,b);      // c = {o:123,p:234,n:456,m:678}

// 方法二(使用ES6)
var c = Object.assign(a,b)  // c = {o:123,p:234,n:456,m:678}

// 方法三(使用...運(yùn)算符)
var c = {...a, ...b}

// 對比Python:
a = {"yu": 12312, "nu": 34455}
b = {"a": 23, "b": 980}
c = dict(a, **b)     // c = {'yu': 12312, 'nu': 34455, 'a': 23, 'b': 980}

在一個由對象組成的列表中查找這個對象在列表中的位置

方法一(findIndex):

const testList = [{No:1,name:'t'},{No:2,name:'n'},{No:3,name:'z'},{No:4,name:'y'}]
const step = this.testList.findIndex(e => e.No === 3)
// 輸出 step : 2

方法二(map函數(shù)):

const testList = [{No:1,name:'t'},{No:2,name:'n'},{No:3,name:'z'},{No:4,name:'y'}]
const step = testList.map(e => e.No).indexOf(3)
// 輸出 step : 2

js中判斷一個對象是json還是數(shù)組的方法:

a = {test:1231,test2:456}
if (a.length === undefined)  // json的length為undefined
  console.log("json")
else
  console.log("數(shù)組")

...操作的坑

今天擼Vue中遇到一個坑撩炊,來記錄一下:
結(jié)論:...操作若都是操作的json外永,則后面的json里面的內(nèi)容會替換調(diào)前面json中重名的。

a = {t:1234,o:567}
b =  {t:'kan wo',u:'test'}
{...a,...b}
// 輸出
{t: "kan wo", o: 567, u: "test"}
{...b,...a}
// 輸出
{t: 1234, u: "test", o: 567}

判斷一個變量是否是數(shù)字:

var a = 123
var b = '123'
isNaN(a)     // true
isNaN(b)     // false
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拧咳,一起剝皮案震驚了整個濱河市伯顶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌骆膝,老刑警劉巖祭衩,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異阅签,居然都是意外死亡掐暮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進(jìn)店門政钟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來路克,“玉大人,你說我怎么就攤上這事养交【悖” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵碎连,是天一觀的道長灰羽。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么谦趣? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任疲吸,我火速辦了婚禮,結(jié)果婚禮上前鹅,老公的妹妹穿的比我還像新娘摘悴。我一直安慰自己,他們只是感情好舰绘,可當(dāng)我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布蹂喻。 她就那樣靜靜地躺著,像睡著了一般捂寿。 火紅的嫁衣襯著肌膚如雪口四。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天秦陋,我揣著相機(jī)與錄音蔓彩,去河邊找鬼。 笑死驳概,一個胖子當(dāng)著我的面吹牛赤嚼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播顺又,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼更卒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了稚照?” 一聲冷哼從身側(cè)響起蹂空,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎果录,沒想到半個月后上枕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡弱恒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年姿骏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斤彼。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蘸泻,靈堂內(nèi)的尸體忽然破棺而出琉苇,到底是詐尸還是另有隱情,我是刑警寧澤悦施,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布并扇,位于F島的核電站,受9級特大地震影響抡诞,放射性物質(zhì)發(fā)生泄漏穷蛹。R本人自食惡果不足惜土陪,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肴熏。 院中可真熱鬧鬼雀,春花似錦、人聲如沸蛙吏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鸦做。三九已至励烦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間泼诱,已是汗流浹背坛掠。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留治筒,地道東北人屉栓。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像矢炼,于是被迫代替她去往敵國和親系瓢。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容