how to add a default value to a javascript function variable?

Possible Duplicate: Is there a better way to do optional function parameters in Javascript? Default value for function parameter? I can I do this on javascript (jQuery) function function somename(variableone = "content"){ return variableone; } Now to access that function: alert(somename()) //this should alert "content" alert(somename("hello world"); //this should return "hello world" b

如何将默认值添加到JavaScript函数变量?

可能重复: 有没有更好的方法来在JavaScript中做可选的函数参数? 函数参数的默认值? 我可以在javascript(jQuery)函数上执行此操作 function somename(variableone = "content"){ return variableone; } 现在访问该功能: alert(somename()) //this should alert "content" alert(somename("hello world"); //this should return "hello world" 但我得到这个错误Uncaught SyntaxError: Unexpected token = 如果

Javascript : optional parameters in function

This question already has an answer here: Is there a better way to do optional function parameters in JavaScript? [duplicate] 29 answers Any unfilled argument will be undefined . concatenate(a, c) is equivalent to concatenate(a, b) . You cannot pass the third parameter without passing the second; but you can pass undefined (or null , I suppose) explicitly: concatenate(a, undefined, c) .

Javascript:可选参数在函数中

这个问题在这里已经有了答案: 有没有更好的方法来在JavaScript中做可选的函数参数? 29个答案 任何未填充的参数将undefined 。 concatenate(a, c)等价于concatenate(a, b) 。 你不能通过第三个参数而不通过第二个参数; 但你可以undefined传递undefined (或null ,我想): concatenate(a, undefined, c) 。 在函数中,您可以检查undefined并用默认值替换。 或者,您可以使用对象参数来模仿关键字参数: concatena

How can I declare optional function parameters in Javascript?

Possible Duplicate: Is there a better way to do optional function parameters in Javascript? Can I declare default parameter like function myFunc( a, b=0) { // b is my optional parameter } in javascript. simple: function myFunc(a,b) { b = b || 0; // b will be set either to b or to 0. } This works as long as all values you explicitly pass in are truthy. Values that are not tru

我如何在Javascript中声明可选的函数参数?

可能重复: 有没有更好的方法来在JavaScript中做可选的函数参数? 我可以声明默认参数吗? function myFunc( a, b=0) { // b is my optional parameter } 在JavaScript中。 简单: function myFunc(a,b) { b = b || 0; // b will be set either to b or to 0. } 只要您明确通过的所有值都是真实的,就可以工作。 不符合MiniGod评论的值: null, undefined, 0, false, '' 在函数实际启动之前,查

Why does typeof NaN return 'number'?

Just out of curiosity. It doesn't seem very logical that typeof NaN is number. Just like NaN === NaN or NaN == NaN returning false, by the way. Is this one of the peculiarities of javascript, or would there be a reason for this? Edit: thanks for your answers. It's not an easy thing to get ones head around though. Reading answers and the wiki I understood more, but still, a sentenc

为什么typeof NaN返回'数字'?

只是出于好奇。 typeof NaN是数字似乎并不合逻辑。 就像NaN === NaN或NaN == NaN顺便返回false。 这是javascript的特性之一,还是会有这个原因呢? 编辑:谢谢你的答案。 尽管让人头晕目眩并非易事。 阅读答案和维基我了解得更多,但仍然是一个像 与NaN进行比较时,即使与自身进行比较,也总会返回无序的结果。 比较谓词是信令或非信令,信令版本表示这种比较的无效例外。 等式和不等式谓词是非信号的,所以x = x返

Variable hoisting

alert(myVar1); return false; var myVar1; Above code throws error in IE, FF and Opera stating that return statement has to come in the function. But it works (shows undefined ) in Safari and Chrome. The above code has been written in global scope. Outside all the functions. Any reason? In javaScript Variables are moved to the top of script and then run. So when you run it will do var myV

变量提升

alert(myVar1); return false; var myVar1; 上面的代码在IE,FF和Opera中抛出错误,说明返回语句必须进入函数。 但它在Safari和Chrome中起作用(显示undefined )。 上面的代码已被写入全局范围。 除了所有的功能。 任何原因? 在javaScript中,变量被移动到脚本的顶部,然后运行。 所以当你运行它会做 var myVar1; alert(myVar1); return false; 这是因为javascript并没有真正的词汇范围界定。 这就是为什么它认为

Difference between Javascript function declarations

以下两个例子有什么区别? setInterval(myFunc, 100); function myFunc() { alert('asdf'); } setInterval(myFunc, 100); var myFunc = function myFunc() { alert('asdf'); } According to ECMA standard, the first example is a function statement while the second is a function expression. According to Javascript a function statement counts as a definition, which means in the first example it is visible th

Javascript函数声明之间的区别

以下两个例子有什么区别? setInterval(myFunc, 100); function myFunc() { alert('asdf'); } setInterval(myFunc, 100); var myFunc = function myFunc() { alert('asdf'); } 根据ECMA标准,第一个例子是一个函数语句,而第二个例子是一个函数表达式。 根据Javascript,函数语句被视为一个定义,这意味着在第一个示例中它可以通过整个函数(或脚本,如果它不在函数中)可见。 但在第二个示例中, var myFunc在第二行之前不

Why use named function expressions?

We have two different way for doing function expression in JavaScript: Named function expression (NFE) : var boo = function boo () { alert(1); }; Anonymous function expression : var boo = function () { alert(1); }; And both of them can be called with boo(); . I really can't see why/when I should use anonymous functions and when I should use Named Function Expressions. What differ

为什么使用命名函数表达式

我们有两种不同的方式来在JavaScript中执行函数表达式: 命名函数表达式(NFE) : var boo = function boo () { alert(1); }; 匿名函数表达式 : var boo = function () { alert(1); }; 并且可以用boo();调用它们boo(); 。 我真的不明白为什么/何时应该使用匿名函数,何时使用命名函数表达式。 他们之间有什么不同? 在匿名函数表达式的情况下,函数是匿名的 - 从字面上看,它没有名字。 你分配给它的变量有一

What is the difference between a function expression vs declaration in JavaScript?

This question already has an answer here: var functionName = function() {} vs function functionName() {} 31 answers They're actually really similar. How you call them is exactly the same.The difference lies in how the browser loads them into the execution context. Function declarations load before any code is executed. Function expressions load only when the interpreter reaches that

JavaScript中的函数表达式与声明之间有什么区别?

这个问题在这里已经有了答案: var functionName = function(){} vs function functionName(){} 31个答案 他们其实非常相似。 你怎么称呼它们是完全一样的。区别在于浏览器如何将它们加载到执行上下文中。 函数声明在任何代码执行之前加载。 函数表达式仅在解释器到达该行代码时加载。 所以如果你在加载之前尝试调用一个函数表达式,你会得到一个错误! 如果你调用函数声明,它会一直工作,因为在加载所有声明之

Are anonymous functions a bad practice in JavaScript?

I was reading that using anonymous functions in javascript is bad practice, because it can make debugging a pain, but I haven't seen this for myself. Are anonymous functions in JavaScript really bad practice and, if so, why? Nope, anonymous functions are used all over the place in JavaScript across the web. It may make debugging a little more difficult in spots, but not nearly enough to s

匿名函数在JavaScript中是不好的做法吗?

我正在阅读在JavaScript中使用匿名函数是不好的做法,因为它可以使调试变得很痛苦,但是我没有看到过自己。 JavaScript中的匿名函数真的很糟糕,如果是这样,为什么? 不,匿名功能在整个网络中都被JavaScript使用。 它可能会使调试更加困难,但还不足以说明它们不应该被使用。 例如,JQuery广泛使用它们。 有很多时候你想要通过正式声明的函数来使用它们,比如当你想限制它们的作用域时。 我将在这里反对这个流程,并

Why is a function declaration within a condition block hoisted to function scope in Chrome but not Firefox?

Why the following codes output different results between Chrome and Firefox? f = function() {return true;}; g = function() {return false;}; (function() { if (g() && [] == ![]) { f = function f() {return false;}; function g() {return true;} } })(); console.log(f()); In Chrome: the result is false . However, in Firefox, it is true . The key line of the above c

为什么一个条件块中的函数声明被提升到Chrome中的函数作用域而不是Firefox?

为什么下面的代码在Chrome和Firefox之间输出不同的结果? f = function() {return true;}; g = function() {return false;}; (function() { if (g() && [] == ![]) { f = function f() {return false;}; function g() {return true;} } })(); console.log(f()); 在Chrome中:结果是false 。 但是,在Firefox中,这是true 。 上面代码的关键是第4行,根据我对函数名称提示的知识,函数g应