如果您已经使用过任何长度的JavaScript,那么您就知道Internet Explorer没有为Array.prototype.indexOf()[包括Internet Explorer 8]实现ECMAScript函数.这不是一个大问题,因为您可以使用以下代码扩展页面上的功能.
Array.prototype.indexOf = function(obj, start) {
for (var i = (start || 0), j = this.length; i < j; i++) {
if (this[i] === obj) { return i; }
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
我什么时候应该实现这个?
我应该使用以下检查将其包装在我的所有页面上,检查是否存在原型函数,如果不存在,请继续并扩展Array原型?
if (!Array.prototype.indexOf) {
// Implement function here
}
Run Code Online (Sandbox Code Playgroud)
或者浏览器检查,如果它是Internet Explorer,那么只需实现它?
//Pseudo-code
if (browser == IE Style Browser) {
// Implement function here
}
Run Code Online (Sandbox Code Playgroud) javascript internet-explorer cross-browser internet-explorer-8
在SQL中,我们可以看到字符串是否在列表中,如下所示:
Column IN ('a', 'b', 'c')
Run Code Online (Sandbox Code Playgroud)
在JavaScript中执行此操作的好方法是什么?这样做非常笨重:
if (expression1 || expression2 || str === 'a' || str === 'b' || str === 'c') {
// do something
}
Run Code Online (Sandbox Code Playgroud)
而且我不确定这个的表现或清晰度:
if (expression1 || expression2 || {a:1, b:1, c:1}[str]) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
或者可以使用切换功能:
var str = 'a',
flag = false;
switch (str) {
case 'a':
case 'b':
case 'c':
flag = true;
default:
}
if (expression1 || expression2 || flag) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
但这是一个可怕的混乱.有任何想法吗?
在这种情况下,我必须使用Internet Explorer 7作为企业内部网页面.['a', …
我在使用JavaScript.我想存储一个唯一的,无序的字符串值列表,其中包含以下属性:
我真正想要的是一套.有关在JavaScript中模拟集合的最佳方法的任何建议吗?
这个问题建议使用一个Object,键存储属性,并且值都设置为true:这是一种明智的方法吗?
我正在检查一个变量,例如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)
但这并不完全吸引我,因为我必须为对象中的项目提供冗余值.
有没有人知道对多个值进行相等检查的正确方法?
考虑以下:
var a = 'jesus';
if(a == 'something' || a == 'nothing' || a=='anything' || a=='everything'){
alert('Who cares?');
}
Run Code Online (Sandbox Code Playgroud)
有没有办法缩短它?
Javascript中有什么东西if (a=='bbb'||'ccc')吗?
另外,jQuery可以在这里帮忙吗?
所以,我团队的一名初级程序员今天编写了以下代码:
if(status === ("incomplete" || "unknown"))
Run Code Online (Sandbox Code Playgroud)
这显然不会按照他的意图去做,这是:
if(status === "incomplete" || status === "unknown"))
Run Code Online (Sandbox Code Playgroud)
但我无法解释的是,为什么第一段代码无法正常工作!或者,如果'status'设置为'incomplete',则为什么评估为true;如果设置为'unknown',则为false
可能重复:
Javascript:将一个值与多个值进行比较的最漂亮的方法
Javascript If用于检查文件扩展名不起作用的语句
在JS中我试图检查扩展名是否以"png""jpg"或"gif"结尾.我知道这可以通过switch语句来完成,但我想知道是否有一种更简单的方法可以将它全部放入if条件语句中.喜欢:
if (aExtensions[i].toLowerCase() == ('jpg' || 'png' || 'gif')) {}
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳方法是什么?
关于if语句,可以重构此代码
(这只是一个示例,并未引用“真实”代码)
if(person === 'customer' || person === 'employee' || person === 'other')
Run Code Online (Sandbox Code Playgroud)
至
if(person === ('customer' || 'employee' || 'other'))
Run Code Online (Sandbox Code Playgroud)
目前,我有一个state包含3个布尔属性的对象。如果至少有一个属性返回,我想显示一个覆盖图true。我当前的解决方案是
showOverlay: state => state.isNavigating || state.isHttpRequesting || state.isProcessing
Run Code Online (Sandbox Code Playgroud)
我在问是否有办法清理它。伪代码将是
showOverlay: state => (isNavigating || isHttpRequesting || isProcessing) of state
Run Code Online (Sandbox Code Playgroud)
我知道不会有什么大的收获,但是它将删除所有state. ...部分。
目前我正在创建一个文件管理器.
我想要的是检查用户是否选择了视频文件.该文件可以是mov,f4v,flv,mp4和swf.
我想检查我的var ext是否是其中之一.
我有的是:
if(ext == ('mov' || 'f4v' || 'flv' || 'mp4' || 'swf'))
{
//Do something
}
Run Code Online (Sandbox Code Playgroud)
有谁知道我怎么能让这个工作.我不想使用开关,因为我会收到很多案例.
Using If statement to filter data with multiple string values
i want to sort the file extension in one line because if i dont do that i have to write multiple lines of code which i think is a waste of time. can i get some help here
if (fileExtension === "jpg"||"Jpeg"||"png"||"svg"){
//do something
}
else{
//do something else
}
Run Code Online (Sandbox Code Playgroud)
if have so file extension jpg then its directly switching to else statement and if i give just jpg i.e …
我想在这个例子中知道为什么我的病情总是如此?谢谢
function bla() {
var qix = 'z'
if (qix === 'a' || 'b' || 'c') {
console.log('condition ok!! whats wrong???')
}
}
Run Code Online (Sandbox Code Playgroud) 反正有没有这样做:
if (document.getElementById("x").value == 2 || document.getElementById("x").value == 3) {
//Do somthing
}
Run Code Online (Sandbox Code Playgroud)
#我可以通过这种方式简单地做到这一点,我试过但它不起作用:
if (document.getElementById("x").value == 2 || 3) {
//Do somthing
}
Run Code Online (Sandbox Code Playgroud)