var Stars = new Array(1,2,3,4,5,6,7,8,9,10);
var StarsX = new Array(451,455,460,470,490,100,160,220,280,300);
var StarsY = new Array(451,455,460,470,490,480,390,330,200,120);
var Starsm = Stars
var StarsmX = StarsX
var StarsmY = StarsY
//just shows the output of the variables in a text field
function contpost(){Tfield.innerHTML=Stars + "<br/>" + StarsX + "<br/>" + StarsY + "<br/>" + Starsm + "<br/>" + StarsmX + "<br/>" + StarsmY;}
//cycles through the "for" loop and posts the variables
function newpost(){
for (var i=0;i<Stars.length;i++){
StarsmX[i] = StarsX[i] + 10;
StarsmY[i] = StarsY[i] + 10;
}
contpost()
}
var Tfield= (This is the text field)
var canv_one= (This is a canvas in my document)
canv_one.addEventListener('click', newpost);
このコード(Firefox 9)を実行すると、if/thenループは "mX"変数と "X"変数の両方に10を追加します。Javascript変数宣言問題
私は現在、どのようにそれを行うのか知っています。早くも同じように設定したからです。私は宣言でこれを代用すると、それが正常に動作します:
var Starsm = new Array()
var StarsmX = new Array()
var StarsmY = new Array()
私は理解していない何ジャバスクリプトがこれをやっている理由です。私は、StarsxをStarsxと等しくすることは決してしませんでした。
私は、世界の宣言の間に一度等しくすると、後で再同値化されません。これは私がJavascriptの基本的な機能を理解していないことを意味しています。
誰でも手伝いできますか?
配列を作成するときは、 'new Array()'ではなく '[]'を使用します(これは読みやすく、 'new Array(5)'を呼び出すと配列が生成される値5を持つ単一の要素ではなく5つの要素を持つ)。だから 'var Stars = [1,2,3,4,5,6,7,8,9,10];と' var Starsm = []; ' – nnnnnn
OK。私は後でそれを変更します。私は基本的に私がgoogleできる何でもJavascriptを学んでいる。ベストプラクティスは必ずしも明確ではありません。 – Brightstar
クール。 MDN:https://developer.mozilla.org/ja/JavaScript/Guideをご覧ください。また、Googleのヒント:いくつかのJavaScriptのキーワードや機能について知りたい場合は、Google検索用語の末尾に「mdn」や「mdc」を追加してください(例:「array mdn」)。これはMDNそのキーワード/機能についてのページを検索結果のトップに表示します。通常、「javascript」という単語は必要ありません。 – nnnnnn