javascript function arguments.length giving wrong valueAccessing arguments object using ES6How do JavaScript closures work?What is the most efficient way to deep clone an object in JavaScript?Which “href” value should I use for JavaScript links, “#” or “javascript:void(0)”?How do I remove a property from a JavaScript object?var functionName = function() vs function functionName() Which equals operator (== vs ===) should be used in JavaScript comparisons?How do I include a JavaScript file in another JavaScript file?What does “use strict” do in JavaScript, and what is the reasoning behind it?How to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?
I’m planning on buying a laser printer but concerned about the life cycle of toner in the machine
Email Account under attack (really) - anything I can do?
Python: next in for loop
What typically incentivizes a professor to change jobs to a lower ranking university?
Mage Armor with Defense fighting style (for Adventurers League bladeslinger)
Why not use SQL instead of GraphQL?
Can a Warlock become Neutral Good?
Why "Having chlorophyll without photosynthesis is actually very dangerous" and "like living with a bomb"?
Modeling an IPv4 Address
What are the differences between the usage of 'it' and 'they'?
Why don't electron-positron collisions release infinite energy?
How can I make my BBEG immortal short of making them a Lich or Vampire?
Can I ask the recruiters in my resume to put the reason why I am rejected?
Fully-Firstable Anagram Sets
How do I create uniquely male characters?
A newer friend of my brother's gave him a load of baseball cards that are supposedly extremely valuable. Is this a scam?
How does one intimidate enemies without having the capacity for violence?
Approximately how much travel time was saved by the opening of the Suez Canal in 1869?
Is it possible to do 50 km distance without any previous training?
Smoothness of finite-dimensional functional calculus
Adding span tags within wp_list_pages list items
Why did the Germans forbid the possession of pet pigeons in Rostov-on-Don in 1941?
Why doesn't Newton's third law mean a person bounces back to where they started when they hit the ground?
Minkowski space
javascript function arguments.length giving wrong value
Accessing arguments object using ES6How do JavaScript closures work?What is the most efficient way to deep clone an object in JavaScript?Which “href” value should I use for JavaScript links, “#” or “javascript:void(0)”?How do I remove a property from a JavaScript object?var functionName = function() vs function functionName() Which equals operator (== vs ===) should be used in JavaScript comparisons?How do I include a JavaScript file in another JavaScript file?What does “use strict” do in JavaScript, and what is the reasoning behind it?How to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
concat.js
export default () =>
const argsLength = arguments.length;
if (argsLength === 0)
return [];
const target = arguments[0];
if (argsLength == 1)
return target;
for (let i=1; i<argsLength; i++)
const src = arguments[i];
for (let i=0; i<src.length; i++)
target.push(src[i]);
return target;
test.js
describe('concat should copy', () =>
it('src array into target array', () =>
const result = concat(); // Not passgin any parameters.
expect(result.length).to.equal(0);
);
);
I am debugging a javascript function with no arguments. In the image, the arguments.length is clearly 0
. But when it is initialized to a variable, it is becoming 5. Can someone explain what's going on here?
javascript
add a comment |
concat.js
export default () =>
const argsLength = arguments.length;
if (argsLength === 0)
return [];
const target = arguments[0];
if (argsLength == 1)
return target;
for (let i=1; i<argsLength; i++)
const src = arguments[i];
for (let i=0; i<src.length; i++)
target.push(src[i]);
return target;
test.js
describe('concat should copy', () =>
it('src array into target array', () =>
const result = concat(); // Not passgin any parameters.
expect(result.length).to.equal(0);
);
);
I am debugging a javascript function with no arguments. In the image, the arguments.length is clearly 0
. But when it is initialized to a variable, it is becoming 5. Can someone explain what's going on here?
javascript
4
How is it clearly zero?arguments
comes from the number of parameters passed to the function not the number of parameters defined in the function. So, somewhere you are passing 5 parameters to this function.
– Get Off My Lawn
Mar 9 at 2:31
@GetOffMyLawn I am not passing any arguments. Updated the post with code
– lch
Mar 9 at 3:25
I think you are seeing some unexpected behavior here because arrow functions do not have a local binding for arguments. changing to the regular function syntax should give you the correct 0 for the length
– MimiEAM
Mar 9 at 3:41
@MimiEAM Yes, its the arrow that is causing the issue. Switching to normal syntax solved it. Is there a way to achieve this using arrow functions?
– lch
Mar 9 at 3:47
1
stackoverflow.com/a/40924845/4127542 . this solved the problem
– lch
Mar 9 at 3:52
add a comment |
concat.js
export default () =>
const argsLength = arguments.length;
if (argsLength === 0)
return [];
const target = arguments[0];
if (argsLength == 1)
return target;
for (let i=1; i<argsLength; i++)
const src = arguments[i];
for (let i=0; i<src.length; i++)
target.push(src[i]);
return target;
test.js
describe('concat should copy', () =>
it('src array into target array', () =>
const result = concat(); // Not passgin any parameters.
expect(result.length).to.equal(0);
);
);
I am debugging a javascript function with no arguments. In the image, the arguments.length is clearly 0
. But when it is initialized to a variable, it is becoming 5. Can someone explain what's going on here?
javascript
concat.js
export default () =>
const argsLength = arguments.length;
if (argsLength === 0)
return [];
const target = arguments[0];
if (argsLength == 1)
return target;
for (let i=1; i<argsLength; i++)
const src = arguments[i];
for (let i=0; i<src.length; i++)
target.push(src[i]);
return target;
test.js
describe('concat should copy', () =>
it('src array into target array', () =>
const result = concat(); // Not passgin any parameters.
expect(result.length).to.equal(0);
);
);
I am debugging a javascript function with no arguments. In the image, the arguments.length is clearly 0
. But when it is initialized to a variable, it is becoming 5. Can someone explain what's going on here?
javascript
javascript
edited Mar 9 at 3:24
lch
asked Mar 9 at 2:27
lchlch
83622250
83622250
4
How is it clearly zero?arguments
comes from the number of parameters passed to the function not the number of parameters defined in the function. So, somewhere you are passing 5 parameters to this function.
– Get Off My Lawn
Mar 9 at 2:31
@GetOffMyLawn I am not passing any arguments. Updated the post with code
– lch
Mar 9 at 3:25
I think you are seeing some unexpected behavior here because arrow functions do not have a local binding for arguments. changing to the regular function syntax should give you the correct 0 for the length
– MimiEAM
Mar 9 at 3:41
@MimiEAM Yes, its the arrow that is causing the issue. Switching to normal syntax solved it. Is there a way to achieve this using arrow functions?
– lch
Mar 9 at 3:47
1
stackoverflow.com/a/40924845/4127542 . this solved the problem
– lch
Mar 9 at 3:52
add a comment |
4
How is it clearly zero?arguments
comes from the number of parameters passed to the function not the number of parameters defined in the function. So, somewhere you are passing 5 parameters to this function.
– Get Off My Lawn
Mar 9 at 2:31
@GetOffMyLawn I am not passing any arguments. Updated the post with code
– lch
Mar 9 at 3:25
I think you are seeing some unexpected behavior here because arrow functions do not have a local binding for arguments. changing to the regular function syntax should give you the correct 0 for the length
– MimiEAM
Mar 9 at 3:41
@MimiEAM Yes, its the arrow that is causing the issue. Switching to normal syntax solved it. Is there a way to achieve this using arrow functions?
– lch
Mar 9 at 3:47
1
stackoverflow.com/a/40924845/4127542 . this solved the problem
– lch
Mar 9 at 3:52
4
4
How is it clearly zero?
arguments
comes from the number of parameters passed to the function not the number of parameters defined in the function. So, somewhere you are passing 5 parameters to this function.– Get Off My Lawn
Mar 9 at 2:31
How is it clearly zero?
arguments
comes from the number of parameters passed to the function not the number of parameters defined in the function. So, somewhere you are passing 5 parameters to this function.– Get Off My Lawn
Mar 9 at 2:31
@GetOffMyLawn I am not passing any arguments. Updated the post with code
– lch
Mar 9 at 3:25
@GetOffMyLawn I am not passing any arguments. Updated the post with code
– lch
Mar 9 at 3:25
I think you are seeing some unexpected behavior here because arrow functions do not have a local binding for arguments. changing to the regular function syntax should give you the correct 0 for the length
– MimiEAM
Mar 9 at 3:41
I think you are seeing some unexpected behavior here because arrow functions do not have a local binding for arguments. changing to the regular function syntax should give you the correct 0 for the length
– MimiEAM
Mar 9 at 3:41
@MimiEAM Yes, its the arrow that is causing the issue. Switching to normal syntax solved it. Is there a way to achieve this using arrow functions?
– lch
Mar 9 at 3:47
@MimiEAM Yes, its the arrow that is causing the issue. Switching to normal syntax solved it. Is there a way to achieve this using arrow functions?
– lch
Mar 9 at 3:47
1
1
stackoverflow.com/a/40924845/4127542 . this solved the problem
– lch
Mar 9 at 3:52
stackoverflow.com/a/40924845/4127542 . this solved the problem
– lch
Mar 9 at 3:52
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55073425%2fjavascript-function-arguments-length-giving-wrong-value%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55073425%2fjavascript-function-arguments-length-giving-wrong-value%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
4
How is it clearly zero?
arguments
comes from the number of parameters passed to the function not the number of parameters defined in the function. So, somewhere you are passing 5 parameters to this function.– Get Off My Lawn
Mar 9 at 2:31
@GetOffMyLawn I am not passing any arguments. Updated the post with code
– lch
Mar 9 at 3:25
I think you are seeing some unexpected behavior here because arrow functions do not have a local binding for arguments. changing to the regular function syntax should give you the correct 0 for the length
– MimiEAM
Mar 9 at 3:41
@MimiEAM Yes, its the arrow that is causing the issue. Switching to normal syntax solved it. Is there a way to achieve this using arrow functions?
– lch
Mar 9 at 3:47
1
stackoverflow.com/a/40924845/4127542 . this solved the problem
– lch
Mar 9 at 3:52