1

だから...私は最近JSHintを介してコードを実行し始めました、そしてそれは次のことについてうめき声を上げています:

function myfunc(config){
    var config = Ext.apply({},config,{});
    //Ext.apply is used as a deep object clone, to check for defaults ,  
    //typeof config !==null, etc 
}

「varconfigはすでに定義されています」

私はそれがうまくいくとちょっと思った、そして今のところそれに関して実際に何の問題もなかった。

このような変数を再宣言するために、どのような落とし穴がありますか?(そして、その方法を知っている場合、JSHintで警告を無効にするにはどうすればよいですか?)

4

2 に答える 2

0

var config同じ名前の変数を外部スコープからシャドウイングする新しいローカルスコープ変数を導入します。あなたの場合、すでに定義されているのと同じスコープ内で変数を再宣言しているので、実際には期待どおりに機能しますが、すでにローカルスコープになっているvarため、宣言は必要ありません。config

于 2012-05-28T11:12:59.177 に答える
0

それはすでに宣言されていると言っているだけなので、役に立たないのでconfig削除する必要があります。var同じ車を買うためにあなたの車を売るようなものです。

于 2012-05-28T11:12:22.920 に答える