質問1 :(ビット、空腹まだ)なぜ、ライトキーコンポーネントリストの書き込みで反応/ Vueのプロジェクト、その役割は何ですか?
1.より正確
には、キーの再利用と場所で回避の再利用に代わりにb.keyコントラスト=== a.key sameNode機能の状況ではありませんので。それは、より正確になります。
2.速い
高速トラバースより、対応するノードを取得するためにオブジェクト生成されたマップの一意のキーを使用して。(このような観点から、より高速なトラバーサルよりもマップされます。)
また、説明するために、元の単語のVUE公式サイト引用し、より高速ないくつかのケースでは、デフォルトのモードキーを使用しないように知っておく必要があります。デフォルトモードは効率的であるが、しかし、サブアセンブリの状態や一時DOMにのみ適用されます依存していません状態(例:フォームの入力値)リストにレンダリング出力の
第2题:['1', '2', '3'].map(parseInt)
何&なぜ?
一見すると、このトピックの私の心のうち答えは[1、2、3]ですが、本当の答えがあるときに、[1、NaNのは、NaN]。
まず、私たちは最初のパラメータは、機能をマップするコールバックすることを思い出してみましょう:
VAR new_array = arr.map(関数コールバック(currentValueは[、インデックス[、アレイ]]){// new_arrayための戻り要素} [、thisArg])
このコールバック現在の要素を表す第1のパラメータが処理され、2番目のパラメータは要素のインデックスを表す3つのパラメータの合計を受信することができます。
parseIntは、文字列、整数になるためにベースを指定した文字列を解析するために使用されます。
parseInt(文字列、基数)は、
第2ベースが解決として表される2つのパラメータ、処理すべき第1の代表値(文字列)を、受け取ります。
これら二つの機能を理解した後、我々は、シミュレートすることができますどのような動作を
するときのparseInt(「1」、0) //基数が0で、文字列引数が10に係る基地処理として、先頭に「0xの」と「0」ではありません。リターンこのとき1
のparseInt(「2」、1)//塩基は、それが解決することができない、最大値が2未満である、NaN 3を1(バイナリ1)数戻る
//カーディナリティのparseInt(」3' 、2) 2(バイナリ)数、最大値が3未満、それは解決できないが、それはNaN 3を返す
マップ関数は配列を返し、最終的な結果は[1、NaNには、NaNの]
最後にMDNの両方に取り付けますリンク機能、我々は内部を見ることができる特定のパラメータ
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseInt
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array /地図