JavaScript 不支持 indexof 该如何解决
indexOf() 方法定义和用法
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。
stringObject 中的字符位置是从 0 开始的。
如果在数组中没找到字符串则返回 -1。
步入正题:
js中的 indexof方法查找给定元素能找在数组中找到的第一个索引值,但indexof在IE8下是不支持的,本文给大家介绍ie8 不支持 indexof 的解决方法
如何某浏览器不支持indexof,你可以在编写scripts时,在其开头使用以下代码,它能够允许你在没有本地支持的情况下使用indexOf方法。
if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(searchElement, fromIndex) { var k; if (this == null) { throw new TypeError('"this" is null or not defined'); } var O = Object(this); var len = O.length >>> 0; if (len === 0) { return -1; } var n = +fromIndex || 0; if (Math.abs(n) === Infinity) { n = 0; } if (n >= len) { return -1; } k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); while (k < len) { if (k in O && O[k] === searchElement) { return k; } k++; } return -1; }; }
js不支持indexof的相关介绍就到此介绍完了,以上解决办法很管用,需要的朋友可以参考下以上教程,同时也非常感谢大家对我们网站的支持!
相关推荐
-
JavaScript Array对象扩展indexOf()方法
背景:JavaScript中Array对象的标准方法中,没有indexOf()方法,可通过下面的代码扩展. 复制代码 代码如下: if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(elt) { var len = this.length >>> 0; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) :
-
JavaScript中关于indexOf的使用方法与问题小结
这个方法相当有用,很多编程语言中都有相对应的实现,javascript中也不例外,然而当我在ie中运行如下代码时候: 复制代码 代码如下: var arr = [1,2,3]; alert(arr.indexOf(1)); 却被提示"对象不支持此属性和方法" .而在chrome,ff下去运行良好.遂去求问google大神,发现原来js中Array的indexOf方法在js1.6版本中才给予了实现,ie7,8中只实现到了js1.3版本,chrome为js1.7版本,ff为js1.8版本.
-
js截取函数(indexOf,join等)
函数:indexOf() 功能:返回字符串中匹配子串的第一个字符的下标 复制代码 代码如下: var myString="JavaScript"; var w=myString.indexOf("v");w will be 2 var x=myString.indexOf("S");x will be 4 var y=myString.indexOf("Script");y will also be 4 var z=myStr
-
js indexOf()定义和用法
返回 String 对象内第一次出现子字符串的字符位置. strObj.indexOf(subString[, startIndex]) 参数 strObj 必选项.String 对象或文字. subString 必选项.要在 String 对象中查找的子字符串. starIndex 可选项.该整数值指出在 String 对象内开始查找的索引.如果省略,则从字符串的开始处查找. 说明 indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置.如果没有找到子字符串,则返回
-
javascript 判断字符串是否包含某字符串及indexOf使用示例
通过判断指定目录实现广告的显示 复制代码 代码如下: if(location.href.indexOf("http://www.jb51.net/codes/")>-1){ alert('ok'); } 复制代码 代码如下: var Cts = "bblText"; if(Cts.indexOf("Text") >= 0 ) { alert('Cts中包含Text字符串'); } indexOf用法: 返回 String 对象内第一次
-
js中substr,substring,indexOf,lastIndexOf的用法小结
js中substr,substring,indexOf,lastIndexOf等的用法 1.substrsubstr(start,length)表示从start位置开始,截取length长度的字符串. var src="images/off_1.png";alert(src.substr(7,3)); 弹出值为:off 2.substringsubstring(start,end)表示从start到end之间的字符串,包括start位置的字符但是不包括end位置的字符. var src
-
JavaScript使用indexOf获得子字符串在字符串中位置的方法
本文实例讲述了JavaScript使用indexOf获得子字符串在字符串中位置的方法.分享给大家供大家参考.具体如下: <!DOCTYPE html> <html> <body> <p id="demo"> Click the button to locate where in the string a specifed value occurs.</p> <button onclick="myFunction
-
js中indexof的用法详细解析
String.IndexOf 方法 (Char, [startIndex], [count]) 报告指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检查指定数量的字符位置. 参数 value 要查找的 Unicode 字符. 对 value 的搜索区分大小写. startIndex(Int32) 可选项,搜索起始位置.不设置则从0开始. count(Int32) 可选项,要检查的字符位置数. 返回值 如果找到该字符,则为 value 的索引位置:否则如果未找到,则为 -1. I
-
使用indexOf等在JavaScript的数组中进行元素查找和替换
复制代码 代码如下: <html> <head> <title> Extend JavaScript Array Method </title> <script language="javascript"> <!-- Array.prototype.indexOf=function(substr,start){ var ta,rt,d='\0'; if(start!=null){ta=this.slice(start);
-
JavaScript 不支持 indexof 该如何解决
indexOf() 方法定义和用法 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. 该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue.开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时).如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置. stringObject 中的字符位置是从 0 开始的. 如果在数组中没找到字符串则返回 -1.
-
对象不支持indexOf属性或方法的解决方法(必看)
var divarr = ["a","b","c","d"]; 判断divarr 数组中是否存在a divarr.indexOf("a")==-1 在ie8下会提示对象不支持indexOf属性或方法 解决办法: 用jquery里的$.inArray替代indexOf $.inArray("a", divarr)==-1 以上这篇对象不支持indexOf属性或方法的解决方法(必看)就
-
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
var date = new Date('2016-11-11 11:11:11'); document.write(date); 最近在写一个时间判断脚本,需要将固定好的字符串时间转换为时间戳进行比较,在做的时候个人习惯使用chrome作为调试工具,代码基本完成之后,一切正常: 使用其他浏览器访问,好嘛,IE跟safari都不兼容,返回错误"Invalid Date". 想着估计是字符串格式的问题,改成'2016/11/11 11:11:11'再测试,结果正常,以为这样应该没问题了,
-
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
实例如下: if (!Array.prototype.indexOf) Array.prototype.indexOf = function (elt /*, from*/) { var len = this.length >>> 0; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from += len;
-
ios 不支持 iframe 的完美解决方法(兼容iOS&安卓)
最近做微信公众号页面,因为入口不同,需要把公共页面抽取出来,然后根据不同的值,传递给后台不同的入口.刚开始用iframe页面嵌套(第一次尝试使用),但发现iOS系统对iframe嵌套页面的高度和定位控制的不到位,具体表现为,当嵌套的子页面的高度大于父页面的高度,且子页面中有触发弹框事件时,这时,如果子页面高度远远大于父页面高度,就会出现弹框找不到的情况,其实可能是在视口以下,弹框的位置只是相对于子页面来定位,并没有相对于视口定位. 尝试了好多种方法,均不理想,而安卓系统则表现良好,于是想到,iO
-
javascript小数精度丢失的完美解决方法
原因:js按照2进制来处理小数的加减乘除,在arg1的基础上 将arg2的精度进行扩展或逆扩展匹配,所以会出现如下情况. javascript(js)的小数点加减乘除问题,是一个js的bug如0.3*1 = 0.2999999999等,下面列出可以完美求出相应精度的四种js算法 function accDiv(arg1,arg2){ var t1=0,t2=0,r1,r2; try{t1=arg1.toString().split(".")[1].length}catch(e){} t
-
关于JavaScript中parseInt()的一个怪异行为解决
目录 1. parseInt() 中的一个怪异行为 2.解决 parseInt() 该怪异行为 3. 总结 parseInt() 是一个内置的 JavaScript 函数,它可以将数字字符串解析为整数.比如,我们将数字字符串 '100' 解析为整数: const number = parseInt('100'); number; // 100 如预期那样,'100' 被解析为整数 100. parseInt(numericalString, radix) 也接受第二个参数:radix(基数),另
-
javascript实现支持移动设备画廊
这是一款不依赖任何js框架.纯javascript实现的画廊效果.它支持移动设备手势操作,如手势触摸滑动.放大和关闭图片,它还支持PC上的键盘操作,总之它是WEB开发者不可或缺的图片画廊插件,它叫photoswipe. 展示效果图如下: 查看演示 下载源码 HTML 首先加载所需的CSS和js文件. <link rel="stylesheet" href="css/photoswipe.css"> <link rel="styleshee
-
MySQL中Union子句不支持order by的解决方法
本文实例讲述了MySQL中Union子句不支持order by的解决方法.分享给大家供大家参考,具体如下: 我对DB知之甚少,这问题只在MySQL遇到,不知道别的DBMS是不是也如此. 问题是这样的,我打算在一个表里获得与某一行记录相邻的两行,并且想通过union一起取出来,所以这么写: select id,title from subjects where id>#some_id# order by id limit 1 union select id,title from subjects
-
Tensorflow不支持AVX2指令集的解决方法
这几天研究了一下FCN(全卷积网络),由于电脑配置不够,用GPU训练直接报OOM(内存溢出)了, 于是转战CPU,当然,这样会很慢,之后会继续搞一下,减小一下网络的复杂度,对一些参数设置一波,看能不能正常跑下来. 记得一开始没有装GPU版的tensorflow时用CPU版本跑程序的时候总是报警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2,当时没有太在意,
随机推荐
- ACCESS学习日记
- 前台JS(jquery ajax)调用后台方法实现无刷新级联菜单示例
- asp.net 结合mysql存储过程进行分页代码
- 利用Go语言初步搭建一个web应用的教程
- asynctask的用法详解
- Android 调用系统照相机拍照和录像
- C3P0连接池+MySQL的配置及wait_timeout问题的解决方法
- mysql分区功能详解,以及实例分析
- 一个用js实现控制台控件的代码
- Jmeter3.0发布!版本更新到底更新了什么
- 一个强大的网络分析shell脚本分享(实时流量、连接统计)
- SQL Server 2012 创建定时作业(图文并茂,教你轻松快速创建)
- 关于 SQL Server ErrorLog 错误日志说明
- jquery简单实现外部链接用新窗口打开的方法
- linux查看文件系统块大小与内存页大小的简单方法
- Android利用Intent读取和更新通讯录
- Android编程实用技术小结
- 应用市场中Java拦截器和切面的使用实例详解
- Django入门使用示例
- 快速入门介绍Java中强大的String.format()