ある会社の筆記試験問題(1)
12369 ワード
前言
先週、幸運にもある会社に面接に誘われました.面接の結果は思わしくないですが、総括するプログラマーにとって、この会社の面接問題はまとめてからでないと進歩しません.
本文
JavaScriptでStringタイプのデータをどう判断しますか?具体的な関数を書いてください.
方法1:この方法は最も分かりやすいが、 が である.改善方法は、次のような方法である.
方法二: ゴミ回収(GC)処理プログラム実行中に発生したゴミ は、関数のスコープで関数が実行されたとき、関数で宣言された局部変数は、ゴミ回収 として扱われます.グローバル変数は、プログラムが終了する前にゴミ回収として扱われます. オブジェクトは外部のいずれの変数にも参照されなくなり、このオブジェクトはゴミ回収として扱われます.
メモリ管理は三つの段階に分かれています. メモリ割り当て:変数、関数、オブジェクトを説明するとき、システムは自動的に割り当てメモリ になります.メモリ使用:変数、関数などを使用した操作 メモリのリリース:使用済みメモリのリリース(ゴミ回収メカニズム) メモリオーバーフローとメモリ漏れは何ですか?メモリオーバーフロー:プログラム実行時に発生したエラーで、プログラム実行に必要なメモリが残メモリを超えるとメモリオーバーフローのエラーが発生します. メモリ漏れ:プログラム実行時、占有メモリが即時に釈放されなくなり、メモリ漏れが多すぎるとメモリオーバーフローを引き起こし、よくあるメモリ漏れは以下の3種類を含む. 意外なグローバル変数とは、 を意味する.タイミングクリアされていないタイマーまたはコールバック関数 が即時に解放されていないクローズド ページの性能を向上させる方法ネットワーク要求の回数を減少させ、精霊図技術 ローカルキャッシュを合理的に使用する 画像を使って怠惰にロードし、いくつかの画像の代わりにフォントアイコンを使う . CDNを使用してリソースをロードする ページにおけるDOM動作を低減し、DOMを操作することは、できるだけidセレクタ を使用することである.
・・・
クロスドメインとは何ですか?よくあるクロスドメインの解決方法は何ですか?クロスドメインとは、ブラウザが他のサイトのスクリプトを実行できないことを意味する.これはブラウザの同ソース戦略によってもたらされたもので、JavaScriptに対するブラウザのセキュリティ制限です. 一般的なクロスドメイン解決方法 は、jsonを通じて、 にまたがります. document.doman+iframeクロスドメイン locations.hash+iframe window.name+iframeクロスドメイン postMessageクロスドメイン クロスドメインリソース共有(CORS) nginxエージェントは、クロスドメイン nodejs中間部品エージェント Basktworkプロトコルクロスドメイン こんなに多くのクロスドメイン解決案は、私はjsonしかできません.難しすぎます.
ajaxの原理と長所と短所 ajaxの原理は、XMLHttpRequestオブジェクトを通じてサーバに非同期要求を送信し、サーバからデータを取得し、その後、javaScriptでDOMを操作してページを更新し、ajaxがネットワーク要求を送信するステップは以下の通りである. は、 を作成する.は、ネットワーク要求を設定する方法を含むネットワーク要求を送信する準備ができ、要求アドレスは、同期 であるかどうか.は、ネットワーク要求を送信し、要求方式が が必要である.処理サーバからの要求データ ajaxのメリット 更新データがない 非同期サーバ通信 フロントエンドとバックエンド負荷バランス は標準に基づいて広く支持されています. インターフェースとアプリケーション分離 ajaxの欠点 は、ブラウザのリターバック機構を破壊しました. は、より多くのデータとサーバ論理 を露出している.は検索エンジンのサポートが弱いです. URLとリソースの位置付けに違反しました.
jQueryにはそのいくつかのセレクタがあります.
jQueryには9種類のセレクタが含まれています.基本セレクタ レベルセレクタ 拡張タイプ基本セレクタ コンテンツセレクタ 可視セレクタ 属性セレクタ サブエレメントセレクタ フォームセレクタ フォームオブジェクト属性セレクタ ()の使い方 を作成する. を選択する. に相当する.
this指向問題は、フォーム要素上で双方向データバインディング を作成するために使用される.は、カスタム入力コンポーネント上で双方向データバインディング を使用する.
Vue-Routerナビゲーションのフックはどのような種類がありますか?グローバルフロントガード グローバルバックフック ルーティング・独り占めのガード コンポーネント内のガード グローバル解析ガード 注:本人の能力に限られていますので、問題の答えは完全とは保証されません.ご指摘をお願いします.
先週、幸運にもある会社に面接に誘われました.面接の結果は思わしくないですが、総括するプログラマーにとって、この会社の面接問題はまとめてからでないと進歩しません.
本文
JavaScriptでStringタイプのデータをどう判断しますか?具体的な関数を書いてください.
方法1:
function isString(str) {
return typeof str === 'string'
}
new String()
によって作成された文字列が正しく判断できないという致命的な欠点がある.new String()
によって作成した文字列はtypeof
を使用して得られたのはObject
方法二:
function isString(str) {
return str instanceof String || typeof str === 'string'
}
方法三:function isString(str) {
return str.constructor === String
}
方法四:function isString(str) {
return Object.prototype.toString.call(str) === '[object String]'
}
DOM動作において、ノードの追加、ノードの検索、ノードの削除、代替、ノードの複製、ノードの作成方法//
fatherNode.appendChild(newNode)
//
fatherNode.insertBefore(newNode, existingNode)
//
document.getElementById('idName')
document.getElementsByClassName('className')
document.getElementsByTagName('tagName')
document.querySelectorAll('selector')
//
fatherNode.removeChild(removeNode)
//
fatherNode.replaceChild(newNode, oldNode)
// ,deep true , false
node.cloneNode(deep)
//
document.createElement('tagName')
javaScriptの中でごみの回収の構造とメモリの管理を簡単に述べます.var
、const
、let
を使用して宣言されていない変数・・・
クロスドメインとは何ですか?よくあるクロスドメインの解決方法は何ですか?
ajaxの原理と長所と短所
XMLHttpRequest
を用いてネットワーク要求オブジェクトxhr
post
である場合、着信要求パラメータjQueryには9種類のセレクタが含まれています.
$(html)
、パラメータはHTMLコードの一部であり、ノードオブジェクト$(selector)
、パラメータはセレクタであり、ページの要素$(function)
、パラメータは、DOMがロードされた後に関数が実行される関数であり、$(document).ready()
this指向問題
//
var name = 'Tom'
var obj = {
name: 'Jerry',
bar: function () {
var name = 'Spike'
console.log(this.name)
}
}
var f1 = obj.bar
f1() //Tom
obj.bar() //Jerry
//
var obj = {
name: 'Tom',
getName() {
console.log(this.name)
}
}
var foo = obj.getName
// undefine , window name ,
foo() //''
手书きの简単なのは闭锁のコードを含みます.function foo() {
var a = 10
return function() {
return a
}
}
var f = foo()
console.log(f()) //10
v-modelの役割Vue-Routerナビゲーションのフックはどのような種類がありますか?
beforeEach
afterEach
beforeEnter
beforeRouteEnter
、beforeRouteUpdate
、beforeRouteLeave
beforeResolve