首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS中的indexOf方法

indexOf()简介 indexOf()是js中内置的方法之一,它的功能大家都很熟悉:简单来说就是得到数据的索引,对于正则不熟练的人,是个很不错的方法。...如果查询到返回索引,反之返回-1(固定用法); 因为indexOf()在不同类型使用的时候可能有细节性的注意点; 这里我们对不同数据类型使用IndexOf的场景进行讨论(其实就是string和array...BB) var s = '12345'; console.log(s.indexOf(1)); //0 console.log(s.indexOf('1')); /...如果参数是数值它会转换为字符来进行查询然后返回索引,本质原因是什么呢,那就是 我们js底层代码中String.prototype.indexOf()使用的是==进行比较判断; Number类型的IndexOf...//2 console.log(a.indexOf('4')); //3 console.log(a.indexOf(4)); //-1 可以看到array的indexOf

5.1K40
您找到你想要的搜索结果了吗?
是的
没有找到

js indexOf 的正确用法「建议收藏」

indexOfjs中有着重要的作用,可以判断一个元素是否在数组中存在,或者判断一个字符是否在字符串中存在,如果存在返回该元素或字符第一次出现的位置的索引,不存在返回-1。...(str.indexOf("w")); //打印结果为5 那么,当想删除某个数组中的某个元素时,常常会这么写 var arr = [1, 2, 3]; var idx = arr.indexOf(2)...; arr.splice(idx,1); console.log(arr); 但是,indexOf真的就是好东西吗?...JSON.stringify(arr[i]) == JSON.stringify(el)){ return i; } } return -1; } 上面这段代码实现的原理是将数组中的元素和传进去的对象都通过...那么到底怎么规避这样的问题呢,从原理上来说,就是挨个比较对象里每个元素是否都相等。

1.4K30

JS ----- 底层原理

JS不是这样做的,JS是不需要编译成中间码,而是可以直接在浏览器中运行,JS运行过程可分为两个阶段,编译和执行。...(可参考你不知道的JS这本书),当JS控制器转到一段可执行的代码时(这段可执行代码就是编译阶段生成的),会创建与之对应的执行上下文(Excution Context简称EC)。...执行上下文可以理解为执行环境(执行上下文只能由JS解释器创建,也只能由JS解释器使用,用户是不可以操作该"对象"的)。...JS 的底层运行原理 每调用一个函数就会生成一个执行环境(俗称执行上下文),执行上下文环境数量没有限制 每调用一个函数就会生成一个执行环境(俗称执行上下文),执行上下文环境数量没有限制 单线程 同步执行...eval():把字符串单做JS代码执行,不推荐使用

2K10

TypeError: url.indexOf报错解决

在网页系统开发中,开发者难免会遇到一些JavaScript文件报错的问题,JavaScript的运行报错可在浏览器中F12的控制台里看到,本篇将介绍如何解决JavaScript的TypeError: url.indexOf...谷歌浏览器(其他浏览器也可以)运行JavaScript报错的网站,点击F12进入控制台,查看这次的报错,发现为 TypeError: url.indexOf is not a function 错误。...报错行一共6行,其中第1、5、6行为jquery-3.3.1.js包的报错,因为这是官方js包已经被无数人检验过,我们可以直接排除这三行出错的可能。...打开ajaxfileupload.js,找到报错的第180行。...再次运行网页,发现控制台的报错消失了,JavaScript报的 TypeError: url.indexOf is not a function 错误解决。

12510

Node.js原理

Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。 Node.js 是一个可以让 JavaScript 运行在浏览器之外的平台。...历史上将 JavaScript移植到浏览器外的计划不止一个,但Node.js 是最出色的一个。...Node.js能做什么 借用一句经典的描述Node.js的话:正如 JavaScript 为客户端而生,Node.js 为网络而生。...运行原理分析 当我们搜索Node.js时,夺眶而出的关键字就是 “单线程,异步I/O,事件驱动”,应用程序的请求过程可以分为俩个部分:CPU运算和I/O读写,CPU计算速度通常远高于磁盘读写速度,这就导致...来看一下代码: test.js(作为控制文件) // file name :test.js var express = require('express'); var app

2.9K70

JS加密、JS混淆技术原理简介

JS加密、JS混淆技术原理简介JS加密、JS混淆、JS混淆加密,所指相同,都是指对JS代码进行加密式处理,使代码不可读,以达到保护代码的目的。...其原理,根据加密或混淆处理深度不同,大体上可分两种,下面简述技术原理。第一种,对代码进行字符替换,比如Eval加密、JJEncode加密,都属于这一类。这种方式,直接对JS代码进行处理,是可逆的加密。...第二种,操作层面与前者最大的差别是,不是对JS代码直接进行分析并加密,而是会进行低层处理,先会对JS代码进行词法分析、语法分析,转化成AST(抽象语法树),得到AST之后,混淆加密操作都是在AST中进行...,完成语法树加密修改之后,再根据AST重新生成全新的密文式JS代码,专业的JS代码加密混淆工具,比如JShaman、JScrambler都是属于这一类。...如此混淆过的JS代码,人无法读懂,但机器可识别,是可以直接运行的,不需要经过解密,因此,不存在通过解密而直接逆向出原码的问题,安全性高。在业内是被广泛认可和应用的。

31340
领券