あるB端会社の先端の試験問題


1.JavaScriptで変数がStringタイプであることをどのように検出しますか?関数実装を書いてください.
function isString(obj) {
    return typeof(obj) === "string" ? true : false;
}

2.次のサンプルコードに従って、コード出力値を記入してください.
function test() {
    console.log(a);                
    console.log(foo());
    var a = 1;                      //    ,      
    function foo() {
        return 2;
    }
}
test();

undefined2
3.ドメイン間とは?ドメイン間でリソースを要求する方法は何ですか?①参考https://segmentfault.com/a/1190000011145364
document.domain:
ベース・プライマリ・ドメインに設定
iframe
+
location.hash
中間ページを通る
window.name
iframeのsrc属性で外域から本地域へ
postMessage CORSエージェントドメイン間
4.簡単なjsコードを作成して、1つの文字列の中で最も出現回数の多い文字を判断して、この回数の需要を統計してください.
var str = "Hello";         //          
var obj = {};              //  json     
    for(let i = 0; i < str.length; i++) {          //     ,          obj
        if(!obj[str.charAt(i)) {                    //  obj       str.charAt(i)  
            obj[str.charAt(i)] = 1;                 //     ,       1
        }else{
            obj[str.charAt(i)]++;
        }
    }

var char = "";
var num = 0;
    for(let key in obj) {               //  obj,        ,   
        if(obj[key] > num) {
            char = key;
            num = obj[key];
        }
    }
    console.log(str+"           "+char+",   :"+num)

5.f(1)=1,f(2)=1が知られており、f(x+2)=f(x)+f(x+1)を求め、プログラミングが実現される.
var fibonacci = function(n) {
    let n1 = 1; n2 = 1;
    for(let i = 2; i < n; i++) {
        [n1, n2] = [n2, n1 + n2]           //    
    }
    return n2;
}
fibonacci(30);

6.$(this)とthisキーワードはjQueryで何が違いますか?①$( this)はjQueryオブジェクトを返し、val()で値を取得し、text()でテキストを取得するなど、jQueryメソッドを呼び出すことができます.②thisは現在の要素を表し、javascriptキーワードの一つであり、コンテキストの現在のDOM要素を表す.
7. $(document).ready()メソッドとwindow.onloadにはどんな違いがありますか?①$(document).ready()はDOMで完全に準備ができていれば呼び出すことができる.②window.onloadは、Webページのすべての要素(要素を含むすべての関連ファイル)をブラウザに完全にロードしてから実行します.
8.ブラウザはどのようにページをレンダリングしますか.レンダリングの流れを簡単に説明してください.参考https://www.jianshu.com/p/fd3493345f8f
htmlを解析してdomツリーを構築する->renderツリーを構築する->renderツリーをレイアウトする->renderツリーを描くので、ブラウザは3つのものを解析します:(1)HTML/SVG/XHTML、この3つのファイルを解析すると1つDOM Treeが生成されます.(2)CSS,解析CSS発生CSSルールツリー.(3)jsスクリプトは、主にDOM APIとCSSOM APIによってDOM TreeとCSS Rule Treeを操作する.
9.vue-routerの動的ルーティングをどのように定義しますか?どのようにして伝達されたダイナミックパラメータを取得しますか?(Vue)①routerディレクトリの下のindex.jsファイルではpathプロパティに/:idを付けます.②routerオブジェクトを使用するparams.id.
10.vue親子コンポーネント通信、および非親子コンポーネント通信をどのように実現しますか?(Vue)①props:{};②
var bus = new Vue();                  //    
bus.$emit('id-selected', 1)           //    A    
bus.$on('id-selected', function(id) {
    //……
    })

11.vue応答式の原理を簡単に述べる.データハイジャックは、パブリッシャー・サブスクライバ・モードを組み合わせた方法によって実現される.objectを利用しました.defineProperty()このメソッドは、オブジェクト取得値(get)と設定属性値(set)を再定義します.
12.微信ウィジェットの関連ファイルのタイプを簡単に説明しますか?
レイアウト
wxml
app
json
コンフィギュレーション
pages
json
js
ろんり
js
wxss
スタイル
wxss
13.ウィジェットでは、どのようにして微信ウィジェットのデータ要求をカプセル化しますか?参考https://blog.csdn.net/weixin_44486539/article/details/103130370
14.ウィジェットにはどのようなパラメータの値を伝える方法がありますか?①グローバル変数②ページジャンプ携帯パラメータ③ページ→コンポーネント④コンポーネント→ページ
15.ウィジェットの非同期リクエストの問題をどのように解決しますか?①成功したコールバックに戻る処理ロジック②Promise非同期