URL の値を取得するために次の関数が使用されていることを確認してください。
しかし、ここに [,null] という式があるのかわかりません。
この関数の目的は、URL http://www.xxx.com/index.html?key=hello&value=world*,此时的location.search等于?key=hello&value=world。比如要获取key的值("hello"),调用getURLParameter("key") など、URI 内の特定のパラメーターの値を取得することです。
http://www.xxx.com/index.html?key=hello&value=world*
location.search
?key=hello&value=world
key
getURLParameter("key")
exec の構文は次のとおりです:
一致した場合、返される結果は配列です。配列の最初の要素は一致した部分文字列であり、後続の要素はキャプチャする括弧の内容です。は 番目です。キャプチャ ブラケット の内容は、配列の 2 番目の要素 であるため、 ;[1] が使用されます
[1]
["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 でない場合は、戻り値が必須のパラメーター値であることを意味します。
["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"
["key=hello&", "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]
[unknown, null]
null || になります。この結果は次のようになります。 [unknown, null]。この時点では、関数全体が null を返します。 getURLParameter("time"),匹配失败,所以结果是null,此时如果你调用[1]就会报错。[,null]表示[undefined, null],当匹配失败的时候,就变成了null || [undefined, null]这个结果是[undefined, null],此时再[1]就不会报错了,此时整个函数返回的是null
null
[undefined, null]
null || [undefined, null]
遅延アプローチ、一致が成功した場合は (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] です。原因:
(name + '=' + '(.+?)(&|$)').exec(location.search)
(.+?)
undefined
[0]
[null]
unknown
[,null][1] nullではないですか? 前のものが一致しない場合はnullが返されます
これに相当します
ただし、前のセクション (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) ) でパラメーター値が取得されなかった場合、次の場合にはエラーが報告されます。 [1] は直接取得されるため、最後に [,null] を追加することは [unknown, null] と同等であり、最後に [1] を取得すると、url パラメーターが原因で配列範囲外エラーが発生しなくなります。入手できません
この関数の目的は、URL
http://www.xxx.com/index.html?key=hello&value=world*
,此时的location.search
等于?key=hello&value=world
。比如要获取key
的值("hello"),调用getURLParameter("key")
など、URI 内の特定のパラメーターの値を取得することです。exec の構文は次のとおりです:
一致した場合、返される結果は配列です。配列の最初の要素は一致した部分文字列であり、後続の要素はキャプチャする括弧の内容です。は 番目です。キャプチャ ブラケット の内容は、配列の 2 番目の要素 であるため、 ;
たとえば、URL が依然として上記の URL であると仮定すると、[1]
が使用されます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 であるかどうかを判断できます。null である場合は、URL にそのようなパラメーターが存在しないことを意味し、null でない場合は、戻り値が必須のパラメーター値であることを意味します。[,null]
は[unknown, null]
を意味します。一致が失敗すると、null || になります。この結果は次のようになります。
[unknown, null]
。この時点では、関数全体がnull
を返します。getURLParameter("time")
,匹配失败,所以结果是null,此时如果你调用[1]
就会报错。[,null]
表示[undefined, null]
,当匹配失败的时候,就变成了null || [undefined, null]
这个结果是[undefined, null]
,此时再[1]
就不会报错了,此时整个函数返回的是null
遅延アプローチ、一致が成功した場合は
以下が(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]
に書き換えることができます🎜[,null][1] nullではないですか? 前のものが一致しない場合はnullが返されます
これに相当します
リーリーただし、前のセクション (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) ) でパラメーター値が取得されなかった場合、次の場合にはエラーが報告されます。 [1] は直接取得されるため、最後に [,null] を追加することは [unknown, null] と同等であり、最後に [1] を取得すると、url パラメーターが原因で配列範囲外エラーが発生しなくなります。入手できません