移動(dòng)前端面試題

前端

1.display:none和visibility:hidden兩者的區(qū)別

display: none隱藏后的元素不占據(jù)任何空間
visibility: hidden隱藏后的元素空間依舊保留
CSS3的transition支持visibility屬性

2.每個(gè)HTML文件里頭部都有<!DOCTYPE>聲明,作用

聲明HTML使用什么版本進(jìn)行編輯的指令

3.<pre>標(biāo)簽的作用

表示計(jì)算機(jī)的源代碼

4.rgba()和opacity的透明效果區(qū)別

rgba()不影響,opacity會(huì)同時(shí)影響字體的透明度

5.null和undefined區(qū)別

null: Null類型,代表“空值”,代表一個(gè)空對(duì)象指針,使用typeof運(yùn)算得到 “object”,所以你可以認(rèn)為它是一個(gè)特殊的對(duì)象值。

undefined: Undefined類型,當(dāng)一個(gè)聲明了一個(gè)變量未初始化時(shí),得到的就是undefined。

6.css實(shí)現(xiàn)元素居中

水平居中
行內(nèi)水平居中

行內(nèi)水平居中就直接用text-align: center

塊級(jí)水平居中
直接用margin: auto來實(shí)現(xiàn)

絕對(duì)定位元素的居中

可以是喲經(jīng)left: 50%, margin: 負(fù)固定值來實(shí)現(xiàn)
也可以使用transform: translate(x軸, y軸)來實(shí)現(xiàn)

flex居中
使用justify-content: center來實(shí)現(xiàn), 這個(gè)是主軸

垂直居中
行內(nèi)垂直居中

設(shè)置line-height和height一樣高就好了

絕對(duì)定位元素居中

絕對(duì)定位元素可以使用top: 50%, margin-top: 負(fù)的一半高度
或者直接使用transform: translate(x軸, y軸)來實(shí)現(xiàn)

也可以結(jié)合使用絕對(duì)定位+margin:auto來實(shí)現(xiàn)
margin: auto中的auto意思是自動(dòng)填充滿剩余空間部分

flex居中
使用flex布局來實(shí)現(xiàn) align-items: center ,代表交叉軸, 也就是垂直軸

移動(dòng)端 React Naitve

React Native生命周期


生命周期.jpg

React中key的作用

渲染組件時(shí),減少性能開銷(setState是減少List中row的性能開銷)

從輸入U(xiǎn)RL到頁面加載完成的過程

1.解析HTML,構(gòu)建DOM樹
2.解析CSS,生成CSS規(guī)則樹
3.合并DOM樹和CSS規(guī)則樹,生成render樹
4.布局render樹(layout/reflow),負(fù)責(zé)各元素尺寸、位置的計(jì)算
5.繪制render樹(paint),繪制頁面像素信息
6.瀏覽器會(huì)將各層的信息發(fā)送給GUI,GUI會(huì)將各層合成(composite),顯示在屏幕上

函數(shù)參數(shù)對(duì)象arguments轉(zhuǎn)為數(shù)組args的幾種方法

var args = Array.prototype.slice.call(arguments); // 第一種方式;
var args = [].slice.call(arguments); // 第二種方式;
ar args = arguments.length === 1? [arguments[0]]: Array.apply(null, arguments); // 第三種方式

ES6規(guī)范下的方式
var args = Array.from(arguments); // 第四種方式;

分析Log的執(zhí)行順序
javascript是一門單線程語言,所以javascript是按語句的執(zhí)行順序執(zhí)行的。

雖然js是單線程,但是我們可以將任務(wù)分成兩類

1.同步任務(wù):需要執(zhí)行的任務(wù)在主線程上排隊(duì),一次執(zhí)行
2.異步任務(wù):沒有立馬執(zhí)行但是需要被執(zhí)行的任務(wù),放在 任務(wù)隊(duì)列里面,

因此,我們從上往下分析:
函數(shù)async1和async2是不會(huì)先執(zhí)行,函數(shù)聲明之后要調(diào)用才會(huì)執(zhí)行,所以先打印script start,setTimeout函數(shù)是異步的所以不會(huì)馬上執(zhí)行,setTimeout會(huì)進(jìn)入相同的Event Queue,new promise 會(huì)立即執(zhí)行, then會(huì)分發(fā)到微任務(wù).new promise和then先后順序不一定

<!DOCTYPE html>
<html lang="zh-CN">
    <head>
            <meta charset="UTF-8"><meta name="generator" content="MediaWiki 1.22.5">
    </head>
    <script>
        async function async1(){
            console.log("async1 start");
            await async2();
            console.log("async1 end")
        }

        async function async2(){
            console.log("async2");
        }

        console.log("script start");

        setTimeout(function(){
            console.log("setTimeout");
        }, 0);

        async1();

        new Promise(function(resolve){
            console.log("Promise1");
            resolve();
        }).then(function(){
            console.log("Promise2");
        });
    </script>
    <body>
        sdfsdfsdfsd
    </body>
</html>

reactJS兄弟組件間及父子組件間怎么樣通訊
1.父子組件間的通訊
通過props方式進(jìn)行傳遞
2.兄弟組件通過props方式傳遞給父組件,再傳遞給兄弟組件.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、理論基礎(chǔ)知識(shí)部分 1.1、講講輸入完網(wǎng)址按下回車,到看到網(wǎng)頁這個(gè)過程中發(fā)生了什么 a. 域名解析 b. 發(fā)起T...
    我家媳婦蠢蠢噠閱讀 3,237評(píng)論 2 106
  • HTML HTML5標(biāo)簽 媒體查詢head部分寫法 Doctype作用? 嚴(yán)格模式與混雜模式如何區(qū)分?它們有何意義...
    Mayo_閱讀 715評(píng)論 0 8
  • 一、HTML 1. 針對(duì)移動(dòng)瀏覽器端開發(fā)頁面,不期望用戶放大屏幕,且要求“視口(viewport)”寬度等于屏幕寬...
    darr250閱讀 18,528評(píng)論 0 26
  • 請(qǐng)參看我github中的wiki,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon閱讀 7,743評(píng)論 2 19
  • 面試題一:https://github.com/jimuyouyou/node-interview-questio...
    R_X閱讀 1,752評(píng)論 0 5

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