我正在调试一些JavaScript,并不能解释这||是做什么的?
function (title, msg) {
var title = title || 'Error';
var msg = msg || 'Error on Request';
}
Run Code Online (Sandbox Code Playgroud)
有人可以给我一个提示,为什么这个人正在使用var title = title || 'ERROR'?我有时也会在没有var声明的情况下看到它.
我正在阅读'Web开发人员的专业Javascript'第4章,它告诉我五种类型的原语是:undefined,null,boolean,number和string.
如果null是原始的,为什么会typeof(null)回归"object"?
这null是不是意味着通过引用传递(我假设所有对象都通过引用传递),因此使它不是原始的?
我有一个Javascript对象,如:
var my_object = { a:undefined, b:2, c:4, d:undefined };
Run Code Online (Sandbox Code Playgroud)
如何删除所有未定义的属性?
我正在检查一个变量,例如foo,与多个值的相等性.例如,
if( foo == 1 || foo == 3 || foo == 12 ) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
关键是这个繁琐的任务代码相当多.我想出了以下内容:
if( foo in {1: 1, 3: 1, 12: 1} ) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
但这并不完全吸引我,因为我必须为对象中的项目提供冗余值.
有没有人知道对多个值进行相等检查的正确方法?
事实证明,+0 === -0计算结果为true,尽管+0和-0是不同的实体.那么,你如何区分+0从-0?
有一个黑客:
if (1 / myZero > 0) {
// myZero is +0
} else {
// myZero is -0
}
Run Code Online (Sandbox Code Playgroud)
我可以做得更好吗?
document.all 是DOM中的非基本对象,是虚假的.
例如,此代码不执行任何操作:
if (document.all) {
alert("hello");
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么会这样吗?
有人可以使用下面的示例数据解释JavaScript Truthy和Falsy.我已阅读其他主题但仍感到困惑.
var a = 0;
var a = 10 == 5;
var a = 1;
var a = -1;
Run Code Online (Sandbox Code Playgroud)
根据我的理解,我相信这var a = 1;是唯一的真理,其余的都是假的 - 这是正确的吗?
所以我刚开始学习 javascript,我现在在函数模块中,我正在玩它,突然我遇到了一个疑问:
为什么是这样:
if(x==true){
return 1;
}
Run Code Online (Sandbox Code Playgroud)
与此不同:
if(x){
return 1;
}
Run Code Online (Sandbox Code Playgroud)
?
你看,我有这个代码:
function isAdult(age){
if(age >= 18){
return true;
}
return false;
}
function nameAndAge(string, boolean){
if(boolean == true){
var my_string = string + " is adult";
return my_string
}
var my_string = string + " is under age";
return my_string
}
var talisa_age = 22;
var talisa_name = "Talisa Maegyr";
var status = isAdult(talisa_age);
var str = nameAndAge(talisa_name,status);
console.log(str)
Run Code Online (Sandbox Code Playgroud)
无论“talisa_age”值如何,我都会得到以下输出:
"Talisa Maegyr is under age"
Run Code Online (Sandbox Code Playgroud)
但是,如果我将 nameAndAge …
今天我有一个有趣的面试问题,让我有点困惑.我被问及虚假的价值观.所以undefined,NaN,null,0和一个空字符串都计算为false.在JavaScript中知道这有用的原因是什么?我唯一能想到的就是不必这样做:
if (mystring === '' || mystring === undefined) { }
Run Code Online (Sandbox Code Playgroud)
我可以做这个:
if (!mystring)
Run Code Online (Sandbox Code Playgroud)
这是唯一有用的应用程序吗?
我正在玩JSconsole并发现一些奇怪的东西.值为"0"false
"0" == false
=> true
Run Code Online (Sandbox Code Playgroud)
false在三元组中使用的值返回第二个值
false ? 71 : 16
=> 16
Run Code Online (Sandbox Code Playgroud)
但是,在三元组中使用的值"0"等于false返回第一个值.
"0" ? 8 : 10
=> 8
Run Code Online (Sandbox Code Playgroud)
但是,如果您将其0用作值,则返回第二个值
0 ? 4 : 5
=> 5
0 == "0"
=> true
Run Code Online (Sandbox Code Playgroud)
我担心这对我没有意义.
javascript ×10
boolean ×1
dom ×1
lodash ×1
object ×1
or-operator ×1
parameters ×1
primitive ×1
types ×1