2

私は JavaScript にまったく慣れていないので、まだよくわからない小さなことを見つけていて、検索しても表示されないようです。誰かが私に何を指摘してくれますか? : 構文は以下で行っています。

var chCode = ('charCode' in event) ? event.charCode : event.keyCode;
4

6 に答える 6

9

これは三項演算子と呼ばれます。短いif...else声明です。

基本的に、コードはこれに拡張できます。

var chCode;

if ('charCode' in event) {
    chCode = event.charCode;
} else {
    chCode = event.keyCode;
}
于 2012-10-22T06:33:29.380 に答える
1

その三項演算子

?: 演算子は、if...else ステートメントのショートカットとして使用できます。これは通常、if...else ステートメントが扱いにくい大きな式の一部として使用されます。

var chCode = ('charCode' in event) ? event.charCode : event.keyCode;

と同じ

var chCode;

if ('charCode' in event) {
    chCode = event.charCode;
} else {
    chCode = event.keyCode;
}

test ? expression1 : expression2

expression1 = test が true の場合に返される式
expression2 = false の場合

于 2012-10-22T06:33:27.710 に答える
1

三項演算子です。

代わりに使用するコード?は次のようになります

var chCode = ('charCode' in event) ? event.charCode : event.keyCode;


if('charCode' in event){
 chCode = event.charCode;
} else {
 chCode = event.keyCode;
}
于 2012-10-22T06:33:39.657 に答える
1

他の人が言ったように、それは三項です。

あなたはそれをより簡潔にすることができます...

var chCode = event.charCode || event.keyCode;
于 2012-10-22T06:34:17.520 に答える
0

翻訳:

var chCode;
if ('charCode' in event) chCode = event.charCode
else chCode = event.keyCode;
于 2012-10-22T06:33:38.283 に答える
0

event.keyCode: keypress イベントの非文字キー、またはその他のタイプのキーボード イベントの任意のキーの Unicode 値を返します。

event.charCode: keypress イベント中に押された文字キーの Unicode 値を返します。

--

event.KeyCode のリンク

于 2012-10-22T06:35:07.537 に答える