JavaScript - [,null] の使用法は何ですか?
过去多啦不再A梦
过去多啦不再A梦 2017-06-26 10:58:11
0
4
1030

URL の値を取得するために次の関数が使用されていることを確認してください。

リーリー

しかし、ここに [,null] という式があるのか​​わかりません。

过去多啦不再A梦
过去多啦不再A梦

全員に返信(4)
刘奇

この関数の目的は、URL http://www.xxx.com/index.html?key=hello&value=world*,此时的location.search等于?key=hello&value=world。比如要获取key的值("hello"),调用getURLParameter("key") など、URI 内の特定のパラメーターの値を取得することです。

exec の構文は次のとおりです:

一致した場合、返される結果は配列です。配列の最初の要素は一致した部分文字列であり、後続の要素はキャプチャする括弧の内容です。は 番目です。キャプチャ ブラケット の内容は、配列の 2 番目の要素 であるため、 ;[1] が使用されます

たとえば、URL が依然として上記の URL であると仮定すると、getURLParameter("key") を呼び出します。一致する結果は ["key=hello&", "hello", "& "] "key=hello&" は一致した部分文字列、"hello" は最初のキャプチャ ブラケットの内容、"&" は、2 番目のキャプチャ ブラケットの内容です。 ["key=hello&", "hello", "&"] || [,null] の結果はもちろん前の項目、つまり ["key=hello&", "hello ", "&"] を実行し、

を実行すると、関数全体の戻り値は "hello" になります。 getURLParameter("key"),匹配的结果是["key=hello&", "hello", "&"]"key=hello&"是匹配的子串,"hello"是第一个捕获型括号的内容,"&"是第二个捕获型括号的内容。["key=hello&", "hello", "&"] || [,null]的结果当然是前一项,也就是["key=hello&", "hello", "&"], 然后取[1],整个函数的返回值就是"hello"

ただし、getURLParameter("time") を呼び出すとマッチングに失敗するため、この時点で

を呼び出すとエラーが報告されます。 [,null][unknown, null] を意味します。一致が失敗すると、null || になります。この結果は次のようになります。 [unknown, null]。この時点では、関数全体が null を返します。 getURLParameter("time"),匹配失败,所以结果是null,此时如果你调用[1]就会报错。[,null]表示[undefined, null],当匹配失败的时候,就变成了null || [undefined, null]这个结果是[undefined, null],此时再[1]就不会报错了,此时整个函数返回的是null

関数を呼び出した後、戻り値が null であるかどうかを判断できます。null である場合は、URL にそのようなパラメーターが存在しないことを意味し、null でない場合は、戻り値が必須のパラメーター値であることを意味します。

いいねを押す +0
代言

遅延アプローチ、一致が成功した場合は
(name + '=' + '(.+?)(&|$)').exec(location.search)。結果は null にはなりません。 (.+?) は、通常の一致する値 [1] です。一致が失敗した場合、exec は null を返します。 (name + '=' + '(.+?)(&|$)').exec(location.search)如果匹配成功。结果不会null。(.+?)就是正则匹配的值[1]。而如果匹配失败,exec返回null。
[,null]第一个值为undefined,这个操作只是统一了返回值为null,关键还是最后面的[1]导致的
如果后面的是[0],那[,null]可以改写为[null][,null]最初の値は unknown です。この操作では戻り値が null に統一されるだけです。キーは最後の [1] です。原因:

以下が [0] の場合、[,null][null] に書き換えることができます🎜
いいねを押す +0
阿神

[,null][1] nullではないですか? 前のものが一致しない場合はnullが返されます

いいねを押す +0
扔个三星炸死你

これに相当します

リーリー

ただし、前のセクション (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) ) でパラメーター値が取得されなかった場合、次の場合にはエラーが報告されます。 [1] は直接取得されるため、最後に [,null] を追加することは [unknown, null] と同等であり、最後に [1] を取得すると、url パラメーターが原因で配列範囲外エラーが発生しなくなります。入手できません

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!