jst中contains是否包含扩展字符/数组/dom功能

这篇文章主要介绍“jst中contains是否包含扩展字符/数组/dom功能”,在日常操作中,相信很多人在jst中contains是否包含扩展字符/数组/dom功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jst中contains是否包含扩展字符/数组/dom功能”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

站在用户的角度思考问题,与客户深入沟通,找到资阳网站设计与资阳网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、网站制作、企业官网、英文网站、手机端网站、网站推广、申请域名雅安服务器托管、企业邮箱。业务覆盖资阳地区。

JS是什么

JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一部分,主要用于web的开发,可以给网站添加各种各样的动态效果,让网页更加美观。

一个小误区 JS中的contains

今天想要用JS判断集合中是否包含另一个集合。

发现,Contains并不能达到所要的效果,查找之后发现了问题

原来,js的contains方法用来查看dom元素的包含关系,并不是Java中数组的contains方法。

先看一下duyunchao同学分享的代码

$(document).ready(function() {
				var Arrays = ['11','22','33'];
				var Array ='11';
				if(Arrays.indexOf(Array) >= 0) {
					alert('Arrays中包含Array');
				}
			});

若js要判断数组的包含关系,应该用indexof

原生JS中是有contains方法的,但只有dom元素的包含关系,这里创新互联就为大家分享一下扩展的字符string与数组arr的扩展代码

结构与测试代码如下



jb51.net
var div1= document.getElementById("div1"); var div2= document.getElementById("div2"); console.log(div1.contains(div2)); var str1="jb51.net"; var str2="jb51"; console.log(str1.contains(str2));

jst中contains是否包含扩展字符/数组/dom功能

但它并不是字符串方法,,仅用于判断DOM元素的包含关系,参数是Element类型

jst中contains是否包含扩展字符/数组/dom功能

若要在JS中判断俩字符串的包含关系,用indexOf()

jst中contains是否包含扩展字符/数组/dom功能

但是我们可以通过扩展的方法来实现



jb51.net
var div1= document.getElementById("div1"); var div2= document.getElementById("div2"); console.log("div1.contains(div2)="+div1.contains(div2)); //字符扩展contains就不会报错了 String.prototype.contains = function(a) {  return - 1 < this.indexOf(a) }; var str1="jb51.net"; var str2="jb51"; console.log("str1.contains(str2)="+str1.contains(str2)); //数组扩展contains适用于数组判断 Array.prototype.contains = function(a) {  if ("string" == typeof a || "number" == typeof a) for (var b in this) if (a == this[b]) return ! 0;  return ! 1 }; var arr1=["jb51.net","jbzj.com","jb51.com"]; var str3="jb51.net"; console.log("arr1.contains(str3)="+arr1.contains(str3));

下面是运行结果

jst中contains是否包含扩展字符/数组/dom功能

所以后期我们的代码可以加上这两段即可

//字符扩展contains就不会报错了
String.prototype.contains = function(a) {
 return - 1 < this.indexOf(a)
};
//数组扩展contains适用于数组判断
Array.prototype.contains = function(a) {
 if ("string" == typeof a || "number" == typeof a) for (var b in this) if (a == this[b]) return ! 0;
 return ! 1
};

到此,关于“jst中contains是否包含扩展字符/数组/dom功能”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


当前名称:jst中contains是否包含扩展字符/数组/dom功能
文章链接:http://pwwzsj.com/article/gjehsi.html

其他资讯