相关疑难解决方法(0)

var关键字的目的是什么?我何时应该使用它(或省略它)?

注意:从ECMAScript版本3或5的角度提出了这个问题.在ECMAScript 6发布中引入新功能后,答案可能会过时.

varJavaScript中关键字的功能到底是什么,有什么区别

var someNumber = 2;
var someFunction = function() { doSomething; }
var someObject = { }
var someObject.someProperty = 5;
Run Code Online (Sandbox Code Playgroud)

someNumber = 2;
someFunction = function() { doSomething; }
someObject = { }
someObject.someProperty = 5;
Run Code Online (Sandbox Code Playgroud)

你什么时候使用其中任何一个,为什么/它做什么?

javascript keyword ecmascript-5

1508
推荐指数
15
解决办法
30万
查看次数

javascript中变量阴影的一个例子

我在Eloquent Javascript(第3章)中学习了变量阴影这个术语,但我试图理解这个概念的一个精确的基本例子.

这是阴影的一个例子吗?

var currencySymbol = "$";

function showMoney(amount) {
  var currencySymbol = "€";
  document.write(currencySymbol + amount);
}

showMoney("100");?
Run Code Online (Sandbox Code Playgroud)

javascript shadowing

34
推荐指数
3
解决办法
3万
查看次数

Javascript按值将数组传递给函数,使原始数组保持不变

我在这里读到了很多关于"按值"和"按引用"传递以将数组发送到javascript函数的答案.然而,我在向函数发送数组并使原始数组保持不变时遇到问题.这个例子说明了这个问题:

function myFunction(someArray)
{
// any function that makes an array based on a passed array;
// someArray has two dimensions;
// I've tried copying the passed array to a new array like this (I've also used 'someArray' directly in the code);

funcArray = new Array();
funcArray = someArray;

var i = 0;

    for(i=0; i<funcArray.length; i++)
    {
    funcArray[i].reverse;
    }

return funcArray;

}
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么这个函数中的任何东西都应该改变原始数组.

如果将函数调用分配给新数组,则调用此函数会直接更改原始数组:

myArray = [["A","B","C"],["D","E","F"],["G","H","I"]];
anotherArray = new Array();

anotherArray = myFunction(myArray);
// myArray gets modified!;
Run Code Online (Sandbox Code Playgroud)

我尝试使用.valueOf()发送原语:

anotherArray …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

30
推荐指数
2
解决办法
5万
查看次数

标签 统计

javascript ×3

arrays ×1

ecmascript-5 ×1

keyword ×1

shadowing ×1