JavaScriptのオブジェクトを作成するには、いくつかの方法
1、工場出荷時のパターン
2、モデルのコンストラクタ
3、プロトタイプモデル
4.ミックスとプロトタイプモデルのコンストラクタ
5、動的プロトタイプモデル
6、スプリアスモードのコンストラクタ
7、コンストラクタセキュアモード
6つの方法は、JavaScriptを継承しました
1、プロトタイプ継承チェーン
コンストラクタの継承を借りる2、
図3に示すように、継承された(+借入プロトタイプ構成)の組合せ
4、原型継承
5、寄生継承
6、寄生複合継承
非同期読み込みと遅延読み込み
1.异步加载的方案: 动态插入script标签
2.通过ajax去获取js代码,然后通过eval执行
3.script标签上添加defer或者async属性
4.创建并插入iframe,让它异步执行js 5.延迟加载:有些 js 代码并不是页面初始化的时候就立刻需要的,而稍后的某些情况才需要的。
JavaScriptの同一生成元ポリシーを説明してください。
コンセプト:相同戦略は、(特にクライアント側のスクリプトでJavascript
)重要なセキュリティメトリクス。それは早いから来ているNetscape Navigator2.0
複数の異なるソースからロードされた文書やスクリプトを防止することを目的とするた、。
ここでは同一生成元ポリシーです意味:プロトコル名を、同じポート、同一生成元ポリシーは、セキュリティプロトコルです。
これは、同じソースからのスクリプトの読み取り専用プロパティウィンドウやドキュメントを指します。
なぜ、相同限度があるはず?
我々は示しています。たとえば、ハッカーのプログラムを、彼が使用しIframe
、彼のページに埋め込まれた本物の銀行のログインページを、あなたは実際のユーザー名を使用する場合、パスワード、あなたができるページ彼を通じてJavascript
フォームに読書input
でコンテンツので、ユーザ名、手元で簡単にパスワードを入力します。
短所:
今サイトではJS
他の人がいない間、strictモードでいくつかのファイルを圧縮します。そして、これらの文書は、strictモードされている可能性があり、 merge
strictモードを示しますが、圧縮無駄バイトの後にはなかっただけでなく、ファイルの途中に上の文字列の後に。
GETとPOSTの違いは、ときPOSTを使用するには?
GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符
POST:一般用于修改服务器上的资源,对所发送的信息没有限制。
GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值,
也就是说Get是通过地址栏来传值,而Post是通过提交表单来传值。
然而,在以下情况中,请使用 POST 请求:
无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST 没有数据量限制)
发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠。
差zeptoとJQ
同じポイント:
zepto jQueryのは軽量な代替手段です。同様のAPI。jQueryのAPIと一般的に用いられている方法でもzeptoです。zeptoもなく、いくつかのjQueryインチ 1.zeptoファイルはjQueryのファイル、以上8Kの軽量、唯一の合計よりも小さいです。
違い:
1.携帯端末プログラム:zeptoは他のブラウザでも利点はサイズがもたらすファイルにzepto使用することができますしながら、IEは依然として、jQueryのを使用できることを意味しますIEブラウザをサポートしていません。しかし、彼らはAPIの二つは完全に互換性がありませんです。だから、使用したり、ご注意ください。
2.DOM操作の違い:IDを追加するときにjQueryとzeptoは有効になりません。
3.トリガ・イベントの間の差:jQueryのロードイベントにハンドラが実行されません。zeptoが実行されます。
4.イベントのデリゲートの違い:Zeptoは、ドキュメント上のすべてのクリックイベントは、シーケンス内のキューに回すために委託されました。そして、jQueryで、文書をクリックして、セレクタで試合をクリックイベントの数を委託し、対応する要素のイベントを委任実行します。
5は、幅()との高さ()の差:ボックスモデル(ボックスサイズ)、()によって決定Zeptoを添加することによって、結果等を返し、.widthと幅の割り当てを返し境界の.css(「幅」); jQueryの意志無視ボックスモデルは、常に(ボーダー、パディングを含まない)幅/高さコンテンツ領域を返します。
区別6、(オフセット)がある:Zepto先頭{上、左、幅、高さ}; jQueryの戻り{幅、高さ}。
7、Zeptoは隠し要素の幅と高さ、jQueryの缶を取得することはできません。
8、Zeptoプロトタイプメソッドを定義するために延びていないのjQueryを有しています。
図9に示すように、それぞれの方法Zeptoは、アレイを介して、JSONオブジェクトを横切ることができません。
10、Zepto支柱は、選択されたDOMの操作方法を利用すると、読み出し値優先ATTR属性場合には、プロパティをチェックします。選択したプロパティの標準プロパティは、CSSではありませんので、Zeptoは、要素選択オプション同様のjQueryの$で(「[選択]オプションを」)を選択しないで取得します。$( 'オプション')。しない(関数(){返す!This.selected})を使用する必要があります。
MVVMインタビュー:
1. Q:MVVMは何ですか?
:ビューモデル2ウェイバインディング、モデル - ビュー - ViewModelに短縮形。
データモデルの変更を自動的にビューに反映されている場合、ビューが変更された場合、同じデータ・モデルに反映されます。
2. Q:のMVVM利点?
:1低結合。モデルビューは、時定数を変更することができたときにモデルビューの変更は、一定であってもよいとき、ビュー(ビュー)モデルの変更や修正の独立していてもよいが、モデル別の「ビュー」にバインドすることができます。
2.再利用。あなたは、内部モデルのロジックの一部を見ることができるので、多くのビューは、このビューロジックを再利用します。
3.自主開発。開発者は、ページ設計者が設計に集中することができ、ビジネスロジックやデータの展開(ViewModelに)に焦点を当てることができます。
4.テスト。
3. Q:彼のMVVMフレームワークを実現するための方法は?
4. Q:彼のMVVMフレームワークを実現するための方法は?
:ビューを反映し、データ・モデルへの変更を監視し、取得および設定メソッドは、ターゲットオブジェクトをカバー再オブザーバー(データ監視モジュール)。ビューを変更すると、データ・モデルに反映しながら、ビューの変化を監視するために使用されるパーサー(パーサー)。
ソケット
データの交換を実現するための双方向通信を介してネットワーク上の2つのプログラムは、ソケットの接続端と呼ばれます。
ポート番号(ソケット)の少なくとも1つの対へのネットワーク通信接続を確立します。、HTTPはセダンである、包装や表示データを提供し、ソケットは、本質的にプログラミング・インターフェース(API)で、TCP / IPカプセル化のために、TCP / IPにも使用されるWeb開発を行うためのプログラマのためのインタフェースを提供し、これはソケット・プログラミング・インタフェースです特定の形態、ソケットエンジンは、通信ネットワーク能力を提供します。
英語ソケット本来の意味は「穴」または「ソケット。」1つの意味を取った後、BSD UNIXプロセス間通信機構として。一般的に、通信リンクは、ハンドルが異なる仮想マシン間または別のコンピュータ上での通信を可能にするために使用することができている、IPアドレスとポートを記述するために使用されているが、「ソケット」と呼ばれます。いくつかのサービスを提供しながら、インターネット上のホストは、一般的に、複数のソフトウェアサービスを実行しています。各サービスは、ソケットを開き、異なるサービスに対応するポート、別のポートにバインドします。以下のような多孔性プラグとして意図され、その英語のようにソケット。部屋の様々な被覆ホストソケットは、各ソケットは、シリアル番号を持っている場合、いくつかの出口は、交流220ボルトを提供し、他のものはケーブル番組を提供しながら、いくつかは、交流110ボルトを提供します。クライアントソフトウェアを使用すると、さまざまなサービスを得ることができ、ソケット異なる番号に差し込みます。
WebSocketを
WebSocketプロトコルはTCPの新しいネットワークプロトコルに基づいています。これは、ブラウザとサーバーの全二重(全二重)通信を実現 - サーバがクライアントに情報を送信するために人気のある説明かもしれません。
WebSocketは、最初のTCP接続、TCPベースのHTML5ソケットAPI仕様のプレースホルダとしてとして参照されます。[1]のWebSocket 2011通信プロトコルはIETFのRFC 6455、RFC7936として標準化仕様を補充されます
WebSocket APIとは何ですか?
サーバー非同期通信方式 - のWebSocket APIは、次世代のクライアントです。単一の通信のTCPソケットの置換、またはWSのWSSプロトコルを使用して、任意のクライアントとサーバーのプログラムのために使用することができます。WebSocketのは、現在、W3Cによって標準化されています。WebSocketのは、クローム4、オペラ10.70とSafari 5を4となっており、他のブラウザは、Firefoxをサポートしています。
クライアントとサーバは、与えられた時間の範囲内の任意の時点で、それぞれが情報をプッシュすることができるのWebSocket APIについての最もよい事。Ajaxの技術は、サーバとクライアントがお互いに情報をプッシュするのWebSocketことができ、クライアントが要求を送信する必要ように、Ajaxの(またはXHR)通信に限定されるものではないのWebSocket、XHR制限ドメインのWebSocket許容クロスドメイン通信を。
使用するように設計された非常にスマートな方法ではありませんAjax技術。WebSocketは、双方向のプッシュメッセージのために指定された目標のために作成されます。