前端常見面試題(二十)@郝晨光


js的特性不包括:(C);

A、面向?qū)ο???????B、基于對象
C、用于客戶端???D、解釋性



在javascript中,以下變量命名非法的是:(B)

A、numb_1????B、2numb
C、sum??????????D、de2$f



下列正則表達(dá)式中,匹配首位是小寫字母,其他位數(shù)是小寫字母或者數(shù)字的最少兩位字符串的是:(C);

A、/^\w{2,}/????????????????B、/^[a-z][a-z0-9]*$/
C、/^[a-z][a-z0-9]+$/??D、/^[a-z]\d+$/



以下代碼輸出結(jié)果為:(C);

for (var i = 0; i < 5; i++) {
    setTimeout(function() {
        console.log(new Date, i);
    }, 1000)
}

A、0,1,2,3,4,5?????B、5,0,1,2,3,4
C、5,5,5,5,5,5?????D、1,2,3,4,5,0



在javascript中,以下代碼的運(yùn)行結(jié)果是:(D);

Math.ceil(27.5)

A、26?????B、27.5?????C、27?????D、28



關(guān)于git和svn的說法正確的是?(B)

A、在很多情況下,git的速率往往比svn??;
B、git是分布式管理,svn是集中式管理;
C、git用分支比較麻煩;
D、git必須用網(wǎng)絡(luò)并且服務(wù)器開啟的情況下才可以使用



在JQuery中,對于以下代碼:

<div class="c">
    <div style="display: none;">a</div>
    <div style="display: none;">b</div>
    <div style="display: none;">c</div>
    <div class="c" style="display: none;">d</div>
</div>
<div class="c" style="display: none;">e</div>
<div class="c" style="display: none;">f</div>

使用如下JQuery的選擇器:

var $x = $('.c :hidden');
var $y = $('.c:hidden');
var x_len = $x.length;
var y_len = $y.length;

執(zhí)行以上代碼后,x_len和y_len的值分別是什么?(D)
A、3, 7;
B、3, 4;
C、7, 3;
D、4, 3;



在javascript中,執(zhí)行下面的代碼后,結(jié)果是:(C)

var str = 'ming.li@smail.com';
var num = str.indexOf('.');
console.log(num); 

A、-1?????B、0?????C、4?????D、13



axios指的是什么?如何使用?描述其實(shí)現(xiàn)注冊功能流程。

axios是一個基于Promise封裝的ajax類庫,它可以在任何支持ajax和Promise的環(huán)境下使用。
使用方法:

axios({
    url: '', // 請求路徑
    method: 'GET', // 請求方法
    params: {
        // get請求提交數(shù)據(jù)
        name: '張三'
    },
    data: {
        // post請求提交數(shù)據(jù)
    },
    headers: {
        // 設(shè)置請求頭
        'Content-Type': 'application/json'
    }
})

用axios實(shí)現(xiàn)注冊流程
首先獲取input的值,用戶名、密碼等用戶填寫的信息
接著將用戶的信息按照后臺的要求組合成一個對象或者FormData的形式
如果是對象的話,直接在data中發(fā)送就可以
如果是FormData的話,需要先修改請求頭,將請求頭修改為form(application/x-www-form-urlencoded)的請求頭
然后在data中發(fā)送
接著.then接收后端返回的數(shù)據(jù),判斷成功與否



通過npm run build打包部署到服務(wù)器上有時會出現(xiàn)頁面空白的問題,一般是什么原因?請具體描述;如果打包后沒有部署在服務(wù)器根目錄,而是在H5-page中進(jìn)行部署,需要做哪些操作。

  1. 通過npm run build打包部署到服務(wù)器上有時會出現(xiàn)頁面空白的問題,一般是什么原因?請具體描述;
    一般情況下是因?yàn)樵趎pm run build之后,靜態(tài)資源路徑出現(xiàn)問題,找不到靜態(tài)資源了,所以會出現(xiàn)頁面空白問題,只需要給build指定生成的目錄配置。vue.config.js中指定publicPath: './'即可。
  2. 如果打包后沒有部署在服務(wù)器根目錄,而是在H5-page中進(jìn)行部署,需要做哪些操作。
    解決方式是在router.js中指定base為'H5-page';



實(shí)現(xiàn)下圖的效果,獲取今天的日期,以及隨后六天的日期,并對應(yīng)是周幾。

Image 1.png
let weeks = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth();
let day = date.getDate();
let week = date.getDay();
let daysArr = [];
for (let i = 0; i < 7; i++) {
    if(day + i > 30) {
        day = 0;
    }else if(week + i > 6) {
        week = -5;
    }
    let date = {
        day: day + i,
        week: weeks[week + i]
    };
    if(i === 0) {
        date.week = '今天';
    }else if(i === 1) {
        date.week = '明天';
    }else if(i === 2) {
        date.week = '后天';
    }
    daysArr.push(date)
}
let fragment = document.createDocumentFragment();
for(let i = 0; i < daysArr.length; i++) {
    let p1 = document.createElement('p');
    let p2 = document.createElement('p');
    let div = document.createElement('div');
    p1.innerHTML = daysArr[i].week;
    p2.innerHTML = daysArr[i].day;
    div.style   .margin = '0 20px';
    div.style.textAlign = 'center';
    if(i === 0) {
        p2.style.background = 'orange';
    }
    div.appendChild(p1);
    div.appendChild(p2);
    fragment.appendChild(div);
}
p.innerHTML = year + '年' + month + '月';
app.appendChild(fragment);



用YYYY-MM-DD hh:mm:ss 的方式輸出當(dāng)前的時間,比如當(dāng)前時間是 2018年4月18日17時42分23秒,則輸出2018-04-18 17:42:23

function getDate() {
    let nowDate = new Date();
    let year = nowDate.getFullYear();
    let month = String(nowDate.getMonth()).padStart(2, '0');
    let day = String(nowDate.getDate()).padStart(2, '0');
    let hours = String(nowDate.getHours()).padStart(2, '0');
    let minutes = String(nowDate.getMinutes()).padStart(2, '0');
    let seconds = String(nowDate.getSeconds()).padStart(2, '0');
    return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
}
console.log(getDate());



定義一個字符串,并輸出這個字符串中的逗號和數(shù)字的個數(shù)

let str = 'sad45s4d6qwed1x2z31czc,dm,wqe456xc,';
function getLength(str) {
    let newStr = str.replace(/(\,|\d)/g, '');
    return str.length - newStr.length;
}
console.log(getLength(str));



如果本文對您有幫助,可以看看本人的其他文章:
前端常見面試題(十九)@郝晨光
前端常見面試題(十八)@郝晨光
前端常見面試題(十七)@郝晨光

結(jié)言
感謝您的查閱,本文由郝晨光整理并總結(jié),代碼冗余或者有錯誤的地方望不吝賜教;菜鳥一枚,請多關(guān)照
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容