2019年先端試験問題


  • web標準とは何ですか?WEB規格はある規格ではなく、一連の規格の集合である.ウェブページは主に3つの部分から構成されています:構造(Structure)、表現(Presentation)、行為(Behavior).対応する標準も3つの方面に分けます:構造化の標準言語は主にXHTMLとXMLを含んで、表現の標準言語は主にCSSを含んで、行為の標準は主に対象の模型(例えばW 3 C DOM)、ECMAScriptなどを含みます.これらの規格の大部分はW 3 Cによって起草され、発表され、ECMA(European Computer Manufacturers Association)のECMAScript規格など、他の規格組織が制定した規格もある.
  • DOCTYPEの役割を説明してください.DOCTYPEがあるのとないのとでは何が違いますか.宣言は、HTMLドキュメントの最初の行であり、ラベルの前にあります.ブラウザの解析器にどのドキュメント基準でこのドキュメントを解析するかを知らせます.DOCTYPEが存在しないか、フォーマットが正しくないと、ドキュメントが互換モードで表示されます.
  • XHTMLとHTMLの違い
  • XHTML要素は正しくネストされている必要があります.
  • XHTML要素はオフにする必要があります.
  • ラベル名は小文字でなければなりません.
  • XHTMLドキュメントにはルート要素が必要です.

  • 厳格モードとハイブリッドモード--どのようにこの2つのモードをトリガし、それらがどのような意味を持っているかを区別します.ブラウザベンダーが標準と互換性のあるブラウザを作成し始めると、後方互換性を確保したいと考えています.これを実現するために,標準モードとハイブリッドモードの2つのプレゼンテーションモードを作成した.
          ,           ;      ,                   。
                              。
         DOCTYPE           DTD           。  XHTML         DOCTYPE,             。  HTML4.01  ,    DTD DOCTYPE             。    DTD URI DOCTYPE             ,     DTD   URI            。DOCTYPE            HTML XHTML         。
      DOCTYPE          ,   DOCTYPE   DOCTYPE  。
    DOCTYPE                         。          CSS,        DOCTYPE,              ,               。                  DOCTYPE  ,     HTML      DTD。
    
  • はthisを使用する3つの典型的なアプリケーション(1)html要素イベント属性で使用することを書き出し、例えば:
    (2)コンストラクション関数
    function Animal(name, color) {
      this.name = name;
      this.color = color;
    }
    (3)inputクリック、取得値
    
    
        var btn = document.getElementById("text");
        btn.onclick = function() {
            alert(this.value);    //   this     
        }
    
    (4)apply()/call()配列最値
    var  numbers = [5, 458 , 120 , -215 ]; 
    var  maxInNumbers = Math.max.apply(this, numbers);  
    console.log(maxInNumbers);  // 458
    var maxInNumbers = Math.max.call(this,5, 458 , 120 , -215); 
    console.log(maxInNumbers);  // 458
  • を求める.
  • 配列脱重
    //    
    var norepeat = funtion(arr){
        return arr.filter(function(val, index, array){
            return array.indexOf(val) === index;
        });
    }
    norepeat()
    
    
    //    
    var set = new Set(arr);
  • 配列合計
    var sum = function(arr){
        return arr.reduce(function(x, y){
            return x + y
        });
    }
    
    sum()
  • DOM要素を表示/非表示にする方法Display visibility Opacity
  • JavaScriptで変数がStringタイプであることをどのように検出しますか?
    function isString(str){
     return (typeof str == "string" || str.constructor == String);
    }
    
  • ページでは、その年の残り時間を計算するカウントダウンプログラムを実現し、ページにリアルタイムで動的に表示するように要求しています.××年がまだ残っている××ああ××時××分××秒」
    function counter() { 
        var date = new Date(); 
        var year = date.getFullYear();
        var date2 = new Date(year, 12, 31, 23, 59, 59);
        /*    */
        var time = (date2 - date) / 1000;
        var day = Math.floor(time / (24 * 60 * 60))
        var hour = Math.floor(time % (24 * 60 * 60) / (60 * 60))
        var minute = Math.floor(time % (24 * 60 * 60) % (60 * 60) / 60);
        var second = Math.floor(time % (24 * 60 * 60) % (60 * 60) % 60);
        var str = year + "   " + day + " " + hour + " " + minute + " " + second + " ";
        console.log(str);
    }
    window.setInterval("counter()", 1000);
  • 補足コードは、マウスでButton 1をクリックするButton 1をButton 2の後ろに移動する.
    function moveBtn(obj) { var clone = obj.cloneNode(true); var parent = obj.parentNode; parent.appendChild(clone); parent.removeChild(obj); }
  • JavaScriptでオブジェクトを深さcloneする方法1:
    function deepClone(obj){
      var str = JSON.sringify(obj);
      var newobj = JSON.parse(str);
      return newobj;
     }
    方法2:
    //   
    function deepClone(obj){
        if (!obj) { return obj; }
        var o = obj instanceof Array ? [] : {};
        for(var k in obj){
            if(obj.hasOwnProperty(k)){
                o[k] = typeof obj[k] === "object" ? deepClone(obj[k]) : obj[k];
            }
        }
        return o;
    }
    
  • マウスはページの任意のラベル、alertのラベルの名前をクリックします.(互換性に注意)
    
       function elementName(evt){
        evt = evt|| window.event;
        var selected = evt.target || evt.srcElement;
        alert(selected.tagName);
       }
       
       window.onload = function(){
        var el = document.getElementsByTagName('body');
        el[0].onclick = elementName;
       }
      
  • JavaScript関数parseQueryStringを作成してください.URLパラメータをオブジェクト
    var url = “http://witmax.cn/index.php?key0=0&key1=1&key2=2″;
    
    
    function parseQueryString(argu){
        var str = argu.split('?')[1];
        var result = {};
        var temp = str.split('&');
        for(vari=0; i
  • に解析するためのものです.
  • 各列をクリックするときにalertのindexはどのようにしますか?
    (function A() { var index = 0; var ul = document.getElementById("test"); var obj = {}; for (var i = 0, l = ul.childNodes.length; i < l; i++) { if (ul.childNodes[i].nodeName.toLowerCase() == "li") { var li = ul.childNodes[i]; li.onclick = function() { index++; alert(index); } } } })();
  • 非同期ロードjsスキームを与えてください.2つ以上の1)defer、IE 2のみサポート)async/await 3)scriptを作成し、DOMに挿入します.ロードが完了したらcallBack、コード:
  • を参照してください.
  • ページにJSが完全にロードされていることを確認するためのシナリオを設計してください.
  • は1つの文字列の中で最も出現回数の多い文字を判断して、この回数を統計します
    方法1:jsonデータの個数「キー」の唯一の特性を利用する
    方法二、配列reduce()を利用する方法;配列の2つの値(左から右)に対して関数を同時に適用します.
    方法3、正規表現のreplaceを利用してstrの各項目を検出する

  • お読みください:2019年前端面試験問題-01010119年前端面試験問題-02019年前端面試験問題-03
    私はCloudyで、若い先端の城を攻めるライオンの1枚で、専研を爱して、技术を爱して、分かち合うことが好きです.
    個人のノートは、整理が容易ではありません.読書、称賛、コレクションに感謝します.
    文章にはどんな問題があっても皆さんの指摘を歓迎して、みんなが一緒に先端のいろいろな問題を交流することを歓迎します!