解释语句含义_html/css_WEB-ITnose
程序员文章站
2022-05-22 14:40:08
...
Array.prototype.i = Array.prototype.indexOf ||
function(value){
for (var i = this.length; i-- && this[i]!== value;) {}
return i;
};
这段话是什么意思??求解释。
特别是
Array.prototype.indexOf ||
function(value)
这个没看懂!
代码的作用是为数组类型添加一个i()方法,检查如果浏览器本身支持indexOf方法,i就引用该方法(i成为indexOf的别名,如果不支持,就自定义一个i()方法。
Array.indexOf()是JS 1.6版本开始支持的,所以不是说有的浏览器都支持
等价与
var a;
var b = a ? a : 4;
等价与
var a;
if( a ){
b = a;
}else{
b = 4;
}
function(value){
for (var i = this.length; i-- && this[i]!== value;) {}
return i;
};
这段话是什么意思??求解释。
特别是
Array.prototype.indexOf ||
function(value)
这个没看懂!
回复讨论(解决方案)
Array.prototype.indexOf中的indexOf是自已对类Array实现的方法
意即:
如果实现了此方法,此Array.prototype.i=Array.prototype.indexOf
即i与indexOf同意
若未实现此方法,则对Array中的扩展方法i用后面的函数来实现
Array.prototype.i = Array.prototype.indexOf || function(value) { for (var i = this.length; i-- && this[i] !== value;) {} //这里有点问题, return i;语句应该是在这个for循环体内的 return i;};//等价于if (Array.prototype.indexOf != false) Array.prototype.i;else Array.prototype.i = function(value) { for (var i = this.length; i-- && this[i] !== value;) { return i; }}
代码的作用是为数组类型添加一个i()方法,检查如果浏览器本身支持indexOf方法,i就引用该方法(i成为indexOf的别名,如果不支持,就自定义一个i()方法。
Array.indexOf()是JS 1.6版本开始支持的,所以不是说有的浏览器都支持
比如
给b赋值,如果a有值那么把a的值赋给b,如果a没值那么把4赋给b
var a; var b = a || 4; alert(b)
等价与
var a;
var b = a ? a : 4;
等价与
var a;
if( a ){
b = a;
}else{
b = 4;
}
JScript code
Array.prototype.i = Array.prototype.indexOf || function(value) {
for (var i = this.length; i-- && this[i] !== value;) {} //这里有点问题, return i;语句应该是在这个for循环体内的
return i……
++
这样的啊,谢谢各位大神!
推荐阅读
-
用if条件语句来实现浏览器兼容简单介绍_html/css_WEB-ITnose
-
这样路径的css有什么特殊含义_html/css_WEB-ITnose
-
css实现将英文语句第一个单词首字母大写_html/css_WEB-ITnose
-
IE 8兼容:X-UA-Compatible的解释_html/css_WEB-ITnose
-
explain分析sql语句字段的解释和含义
-
请高手解释一下小米4宣传页面的这个特效怎么做的?_html/css_WEB-ITnose
-
函数语句的统一_html/css_WEB-ITnose
-
函数语句的统一_html/css_WEB-ITnose
-
jquery语句写在页面中正常执行,放到JS文件里面就执行不了_html/css_WEB-ITnose
-
这段语句咋总报错?错在哪里了?_html/css_WEB-ITnose