百度
360搜索
搜狗搜索

js常用方法总结,Web前端学习之Javascript继承的常用4种方法详细介绍

本文目录一览: JS定义函数的几种常用方法小结

本文实例讲述了JS定义函数的几种常用方法。分享给大家供大家参考,具体如下:在 JavaScript 语言里,函数是一种对象,所以可以说函数是 JavaScript 里的一等公民(first-class citizens)。之前我们这样定义过一个函数:function greet(greeting, name) { return `${greeting}, ${name}`}因为在 JavaScript 里面是对象(object),所以它会有一些属性还有方法。比如 name 属性是函数的名字,length 属性指的是函数里面有多少个必须要传递的参数。比如访问上面定义的这个函数里的两个属性:greet.name// 输出 greetgreet.length// 输出 2,表示有两个参数函数都是 Function 的实例,所以你可以访问 Function 上定义的属性:name,length,可以使用方法:apply(),call()。可以这样证明:greet instanceof Function// 返回 'true'函数表达式函数是对象,也可以说函数是一个值,因为在 JavaScript 里面,它跟其它类型的值是一样的,比如字符串,数字。这就可以让我们使用函数表达式的方法来定义函数,也就是定义一个匿名函数(anonymous function),再把它交给一个变量。像这样:var greet = function (greeting, name) { return `${greeting}, ${name}`}Lambda 表达式ES6 可以让我们用 Lambda 表达式,也就是箭头函数(fat arrow function),看起来像这样:var greet = (greeting, name) => { return `${greeting}, ${name}`}上面这个函数的主体部分只有一行,就是 return 了一个字符串,所以我们可以让它更简洁一些:var greet = (greeting, name) => `${greeting}, ${name}`箭头右边的东西会自动被返回(return)。对象里的方法如果有一个函数是在一个对象里,一般我们称这种函数是对象的一个方法(method)。试一下:var obj = { greet: function (greeting, name) { return `${greeting}, ${name}` }}ES6 可以让我们这样为对象定义方法:var obj = { greet (greeting, name) { return `${greeting}, ${name}` }}上面定义了一个名字是 obj 的对象,在它里面添加了一个叫 greet 的方法。要使用这个方法可以这样:obj.greet('hello', ' my name is X ')// 返回 “ hello, my name is X ”更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》希望本文所述对大家JavaScript程序设计有所帮助。

js中字符串的常见方法

首先创建一个字符串,创建字符串的方法有两种:

1.字面量:var str = "abc123efg456";

2.构造函数:var str = newString("abc123efg456");

其次,需要注意的是,javascript的字符串是不可变的,String类定义的方法都不可以改变字符串内容。若是需要通过方法改变字符串的内容,需要将返回值重新赋值给原来的字符串。如:str = str.toUpperCase();

下面,介绍比较常用的字符串的方法:

var str = "1abc123abc456abc";

功能:返回指定的字符串值在字符串中首次出现的位置。

参数:s为要检索的字符,必需;n为可选的字符参数,规定字符串检索的位置。

demo:

var index1 = str.indexOf("a");

var index2 =str.indexOf("a",8);

var index3 =str.indexOf("a",14);

console.log(index1); // 1

console.log(index2); // 13

console.log(index3); // -1? 从检索的位置检索不到字符,返回-1

功能:返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。

参数:s为要检索的字符,必需;n为可选的字符参数,规定字符串检索的位置。

demo:

var index1 =str.lastIndexOf("a");?

var index2 =str.lastIndexOf("a",11);

var index3 =str.lastIndexOf("a",0);

console.log(index1); // 13

console.log(index2); // 7

console.log(index3); // -1? 从检索的位置检索不到字符,返回-1

功能:返回指定位置的字符。

参数:n表示字符串中某个位置的索引,不写默认为第0个字符。

demo:

var s = str.charAt(3);

console.log(s);? // c

功能:返回指定位置的字符的Unicode编码。

参数:n表示字符串中某个位置的索引,可以没有参数,默认是索引为0的参数。

demo:

var s = str.charCodeAt(3);

console.log(s);? // 99

注:c的unicode编码为99。

注意:charAt(n)方法和charCodeAt(n)方法类似,前者返回的是字符,后者返回的是字符的unicode编码。

功能:将编码转成字符方法。

参数:十进制和十六进制,不支持unicode编码。

demo:

var s1 =String.fromCharCode("0x56fd");

var s2 = String.fromCharCode(22269);

console.log(s1);?? //国

console.log(s2);? //国

注:“国”的十六进制编码是56fd,十进制是22269。

功能:根据指定位置,截取子串,从m到n,不包括n。

参数:m,n为索引。

demo:

var s = str.slice(2,7);

console.log(s); // bc123

功能:根据指定位置,截取子串,从m到n,不包括n。

参数:m,n为索引。

demo:

var s = str.substring(2,7);

console.log(s); // bc123

功能:根据指定位置,截取子串,从m位置取,共取n个。

参数:m,n为索引。

demo:

var s = str.substr(2,7);

console.log(s); // bc123ab

功能:字符串替换。

参数:oldstr为需要被替换的字符,newstr为替换的字符。

demo:

var s =str.replace("a","l");

console.log(s); // 1lbc123abc456abc

注意:每次只能替换一个符合条件的字符。

功能:分割字符,返回成为数组。

参数:"s"为分割的字符。

demo1:

var arr1 = str.split("b");

console.log(arr1);? // ["1a", "c123a","c456a", "c"]

demo2:

var arr2 = str.split(); //["1abc123abc456abc"]

console.log(arr2);

demo3:

var arr3 = str.split("");

console.log(arr3); // ["1","a", "b", "c", "1", "2","3", "a", "b", "c", "4","5", "6", "a", "b", "c"]

阅读更多 >>>  trim函数怎么使用,EXCEL单元格碰到空格不用怕,一个函数来搞定

注意:参数不写的时候,返回原字符串组成的数组;参数为空字符的时候,将每个字符分割,返回一个数组

功能:检索字符串中指定的子字符串,返回第一个与字符串匹配的索引值。

参数:需要被检索的字符串。

demo:

var s1= str.search("abc");

var s2 = str.search("efg");

console.log(s1); // 1

console.log(s2); // -1

注:如果没有找到任何匹配的子串,则返回-1。

功能:在字符串内检索指定的值,匹配到就返回指定的字符值。

参数:需要被检索的字符串。

demo:

var s1= str.match("abc");

var s2 = str.match("efg");

console.log(s1); // ["abc",index: 1, input: "1abc123abc456abc", groups: undefined]

console.log(s2); // null

注:该方法类似indexOf()和lastIndexOf(),但是它返回指定的值,没有就返回null

功能:连接两个或多个字符串,返回连接后的字符串。

参数:需要连接的字符串。

demo:

var str1="abc ";

var str2="123";

console.log(str1.concat(str2));?? // "abc 123"

提示:如果需要拼接字符串,用运算符“+”更简单。

功能:把字符串转换为小写。

参数:无

demo:

var str = "ABC abc";

console.log(str.toLowerCase()); // abcabc

功能:把字符串转换为大写。

参数:无

demo:

var str = "ABC abc";

console.log(str.toUpperCase()); // ABCABC

功能:把字符串显示为大号字体。

参数:无

demo:

var s = str.big();

document.write(str+"");

document.write(s);

功能:把字符串显示为小号字。

参数:无

demo:

var s = str.small();

document.write(str+"");

document.write(s);

功能:把字符串显示为粗体。

参数:无

demo:

var s = str.bold();

document.write(str+"");

document.write(s);

功能:把字符串显示为斜体。

参数:无

demo:

var s = str.italics();

document.write(str+"");

document.write(s);

功能:将字符以指定的颜色显示。

参数:颜色名(red)、RGB 值(rgb(255,0,0))或者十六进制数(#FF0000)。

demo:

var s = str.fontcolor("red");

document.write(str+"");

document.write(s);

功能:将字符以指定的字号显示。

参数:size参数必须是从1和7之间的数字,1表示小的字号,7表示最大的字号。

demo:

var s = str.fontsize(7);

document.write(str+"");

document.write(s);

功能:把字符串显示为超链接。

参数:链接的URL。

demo:

var s =str.link("http://www.baidu.com");

document.write(str+"");

document.write(s);

功能:把字符串加字符串显示。

参数:无

demo:

var s = str.strike();

document.write(str+"");

document.write(s);

以上是对字符串方法的整理,如有修改、补充,后续会更新。

文中如果纰漏,错误,不合理,描述不清晰,不准确等问题,欢迎大家留言指正...

js创建对象的几种常用方式小结(推荐)_js面向对象

第一种模式:工厂方式 代码如下: var lev=function(){ return "脚本之家"; }; function Parent(){ var Child = new Object(); Child.name="脚本"; Child.age="4"; Child.lev=lev; return Child; }; var x = Parent(); alert(x.name); alert(x.lev()); 说明: 1.在函数中定义对象,并定义对象的各种属性,,虽然属性可以为方法,但是建议将属性为方法的属性定义到函数之外,这样可以避免重复创建该方法 2.引用该对象的时候,这里使用的是 var x = Parent()而不是 var x = new Parent();因为后者会可能出现很多问题(前者也成为工厂经典方式,后者称之为混合工厂方式),不推荐使用new的方式使用该对象 3.在函数的最后返回该对象 4.不推荐使用这种方式创建对象,但应该了解 第二种模式:构造函数方式 代码如下: var lev=function(){ return "脚本之家"; }; function Parent(){ this.name="脚本"; this.age="30"; this.lev=lev; }; var x =new Parent(); alert(x.name); alert(x.lev()); 说明: 1.与工厂方式相比,使用构造函数方式创建对象,无需再函数内部重建创建对象,而使用this指代,并而函数无需明确return 2.同工厂模式一样,虽然属性的值可以为方法,扔建议将该方法定义在函数之外 3..同样的,不推荐使用这种方式创建对象,但仍需要了解 第三种模式:原型模式 代码如下: var lev=function(){ return "脚本之家"; }; function Parent(){ }; Parent.prototype.name="李小龙"; Parent.prototype.age="30"; Parent.prototype.lev=lev; var x =new Parent(); alert(x.name); alert(x.lev()); 说明: 1.函数中不对属性进行定义 2.利用prototype属性对属性进行定义 3.同样的,不推荐使用这样方式创建对象 第四种模式:混合的构造函数,原型方式(推荐) 代码如下: function Parent(){ this.name="脚本"; this.age=4; }; Parent.prototype.lev=function(){ return this.name; };; var x =new Parent(); alert(x.lev()); 说明:1.该模式是指混合搭配使用构造函数方式和原型方式 2.将所有属性不是方法的属性定义在函数中(构造函数方式) 将所有属性值为方法的属性利用prototype在函数之外定义(原型方式) 3.推荐使用这样方式创建对象,这样做有好处和为什么不单独使用构造函数方式和原型方式,由于篇幅问题这里不予讨论 第五种模式:动态原型方式 代码如下: function Parent(){ this.name="脚本"; this.age=4; if(typeof Parent._lev=="undefined"){ Parent.prototype.lev=function(){ return this.name; } Parent._lev=true; } }; var x =new Parent(); alert(x.lev()); 说明: 1.动态原型方式可以理解为混合构造函数,原型方式的一个特例 2.该模式中,属性为方法的属性直接在函数中进行了定义,但是因为 代码如下: if(typeof Parent._lev=="undefined"){ Parent._lev=true;} 从而保证创建该对象的实例时,属性的方法不会被重复创建 3.,推荐使用这种模式

阅读更多 >>>  反函数求导公式大全,常见的反导公式

js判断数据类型方法汇总

在前端开发中我们经用到的操作有很多,比如判断数据类型、去重、深拷贝等等,最近也在整理常用的知识点,便于积累和后期查看,这里呢我对js中数据类型判断方法以及判断结果进行了汇总。

一、汇总表格

二、4种方式说明

1、typeof

对于原始类型:除了null其它都可以显示正确

对于对象的话:除了function? 其它均显示为 “object”

2、 instanceof : 内部机制是通过原型链来判断的? 方法是? a instanceof b? (a是不是b的实例)

针对于对象:可以很明显的区分Array、Date、regExp,但是他们都是Object的实例。所以,instanceof 最好是用来判断两个对象是否属于实例关系, 而不是判断一个对象实例具体属于哪种类型。

3、constructor a.constructor===Function / Symbol / String / Number / Boolean / Object / RegExp / Date

对于原始类型:无法处理null、undefined(这两个会报错)?

对于对象:均可以判断

函数的 constructor 是不稳定的,这个主要体现在自定义对象上,当开发者重写 prototype 后,原有的 constructor 引用会丢失,constructor 会默认为 Object

4、 toString

toString() 是 Object 的原型方法,调用该方法,默认返回当前对象的 [[Class]] 。这是一个内部属性,其格式为 [object Xxx] ,其中 Xxx 就是对象的类型。

对于 Object 对象,直接调用 toString()? 就能返回 [object Object] 。而对于其他对象,则需要通过 call / apply 来调用才能返回正确的类型信息。

可以判断所有类型: Object.prototype.toString.call(xxx)? 对向的话可以直接使用 Object.toString(obj)

三、整理一个可以判断任意数据类型的方法

注意:在es6中用class定义类的时候,通过typeof判断出的结果是Function,而通过Object.toString判断的结果是Object。js中class应该是Function类型,所以这点需要注意。

function?getType(para)?{??//判断任意数据类型

????const?type?=?typeof?para;

????if?(type?===?"number"?&&?isNaN(para))?return?"NaN";

????if?(type?!==?"object")?return?type;

????return?Object.prototype.toString

????????.call(para)

????????.replace(/[\[\]]/g,?"")

????????.split("?")[1]

????????.toLowerCase();

}

四、小结

js中数据类型判断的方式有4种:typeof、instance、constructor、toString,typeof简单方便,比较适合原始类型判断,toString繁琐一点但是判断全面,所以这两个的结合判断我是比较推荐的。

Web前端学习之Javascript继承的常用4种方法

今天小编要跟大家分享的文章是关于Javascript继承的常用4种方法。相信很多学习web前端开发技术的小伙伴在学习前端开发的javascript部分的时候,在面向对象的部分就很难走下去了,主要的原因还是逻辑更加复杂了,需要理解的内容比直观的开发布局难一点。在面向对象编程里,封装和继承是比较重要的,这中间,继承是相对而言比较难理解的,因为javascript的继承方式比较多,也有不同的优缺点。今天小编为大家带来这篇文章就是来和大家一起说一说Javascript继承的常用4种方法,希望能够对你有所帮助。1、原型链继承核心:将父类的实例作为子类的原型缺点:父类新增原型方法/原型属性,子类都能访问到,父类一变其它的都变了2、构造继承基本思想借用构造函数的基本思想就是利用call或者apply把父类中通过this指定的属性和方法复制(借用)到子类创建的实例中。因为this对象是在运行时基于函数的执行环境绑定的。也就是说,在全局中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象。call、apply方法可将一个函数的对象上下文从初始的上下文改变为由thisObj指定的新对象。所以,这个借用构造函数就是,new对象的时候(new创建的时候,this指向创建的这个实例),创建了一个新的实例对象,并且执行Parent里面的代码,而Parent里面用call调用了Person,也就是说把this指向改成了指向新的实例,所以就会把Person里面的this相关属性和方法赋值到新的实例上,而不是赋值到Person上面,所以所有实例中就拥有了父类定义的这些this的属性和方法。因为属性是绑定到this上面的,所以调用的时候才赋到相应的实例中,各个实例的值就不会互相影响了。核心:使用父类的构造函数来增强子类实例,等于是复制父类的实例属性给子类(没用到原型)缺点:方法都在构造函数中定义,只能继承父类的实例属性和方法,不能继承原型属性/方法,无法实现函数复用,每个子类都有父类实例函数的副本,影响性能3、组合继承组合继承(所有的实例都能拥有自己的属性,并且可以使用相同的方法,组合继承避免了原型链和借用构造函数的缺陷,结合了两个的优点,是最常用的继承方式)核心:通过调用父类构造,继承父类的属性并保留传参的优点,然后再通过将父类实例作为子类原型,实现函数复用缺点:调用了两次父类构造函数,生成了两份实例(子类实例将子类原型上的那份屏蔽了)4、寄生组合继承核心:通过寄生方式,砍掉父类的实例属性,这样,在调用两次父类的构造的时候,就不会初始化两次实例方法/属性,避免的组合继承的缺点缺点:堪称完美,但实现较为复杂以上就是小编今天为大家分享的关于web前端学习之Javascript继承的常用4种方法的文章,希望本篇文章能够对正在学习web前端技术的小伙伴们有所帮助。想要了解更多web前端知识记得关注北大青鸟web培训官网。文章转载自公众号:前端研究所

js常用增删改查方法js比较运算符 逻辑运算符 赋值运算符 算术运算符

js数组遍历某个值求和
一、增
1、push()
可接收任意数量的参数,把它们逐个添加至数组末尾,并返回修改后数组的长度。例如:
2、unshift()
该方法与push()类似,也可接收任意数量的参数,只不过是将参数逐个添加至数组前端而已,同样返回新数组长度。咱们接着上面的例子:
3、concat()
该方法与push()方法有点类似,同样是将元素添加至数组末尾,只不过这个数组已经不是原来的那个数组了,而是其副本,所以concat()操作数组后会返回一个新的数组。具体用法如下:
① 不传参数,返回当前数组副本 ② 传递一或多个数组,则该方法会将这些数组中的每一项都添加到结果数组中 ③ 传递非数组参数,这些参数就会被直接添加到结果数组的末尾
继续接着上面的栗子:
例子中一目了然,原数组保持不变,新数组后面添加了4、5、6三个元素。
4、splice()
前面的三个方法都具有很大局限性,因为不是添加到数组前就是数组后,而splice()就不一样了,它非常灵活和强大。灵活是因为它可以添加元素到数组的任意位置,强大是因为它除了可以添加元素之外还具有删除和替换元素的功能(这个后面会陆续讲到)。
splice()可以向数组指定位置添加任意数量的元素,需要传入至少3个参数: 起始位置、0(要删除的元素个数)和要添加的元素。
依然接着上面的例子继续:
可以看出,splice()与push()和unshift()一样是直接在原数组上修改的。
二、删
1、pop()
与push()方法配合使用可以构成后进先出的栈,该方法可从数组末尾删除最后一项并返回该项。
接着上例:
2、shift()
与push()方法配合使用可以构成先进先出的队列,该方法可删除数组第一项并返回该项。
继续接着上例:
3、slice()
定义和用法 slice() 方法以新的数组对象,返回数组中被选中的元素。
slice() 方法选择从给定的 start 参数开始的元素,并在给定的 end 参数处结束,但不包括。
注释:slice() 方法不会改变原始数组。
该方法同concat()一样是返回一个新数组,不会影响原数组,只不过slice()是用来裁剪数组的,返回裁剪下来的数组,具体用法如下:
4、splice()
好,继续讲这个“万能”的方法。
上面讲到,该方法在添加数组元素的时候需要传入3个以上参数,而其中第2个参数就是用于指定要删除元素的个数的,那时我们传的是数字0。那么,如果单单只需删除元素,我们就只需给splice()传入两个参数,第1个参数用于指定要删除的第一项的位置,第2个参数用于指定要删除元素的个数。
继续上例~~
从索引项为2的位置开始删除4个元素,所以结果为 [-1, 0, 1, 2]。
三、改
这个其实最灵活的方式就是直接使用splice()这个强大的方法了,其实通过以上对该方法的了解,我们大致就能知道使用该方法修改数组元素的基本原理。
原理很简单,就是向指定位置插入任意数量的元素,且同时删除任意数量的元素。
依然继续上例~~
四、查
indexOf()和lastIndexOf()
这两个方法都接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中,indexOf()从数组的开头(位置0)开始向后查找,lastIndexOf()方法则从数组的末尾开始向前查找。
例如:
当找不到该元素时,返回 -1 ,lastIndexOf()方法同理。
1 数据类型

js数组几种常见的操作方法

关于js数组的用法有很多,下面主要针对一些简单的操作,比如合并,反转,添加删除等简单的操作总结一下。
关于js数组的用法有很多,下面主要针对一些简单的操作,比如合并,反转,添加删除等简单的操作总结一下。
第一:读取数组 for循环
方法如下:
var ay=[1,"sdsd","sdsd"]for (var i=0;i
<ay.length;i++) {
console.log("index:"+i+" "+ay[i]) //index:0 1 index:1 sdsd index:2 sdsd

}

第二:合并数组 concat

方法如下:

var arr1=['w','e','s'];

var arr2=['e','y','u'];var arr3=arr1.concat(arr2);console.log(arr3) //['w','e','s''e','y','u'];第三:数组变为字符串格式 join

方法如下:

var arr1=['w','e','s'];

var arr4=arr1.join()console.log(arr4) //w,e,s

第四:删除最后一个元素,针对老数组是删除最后一个,针对新数组是返回最后一个 pop

var arr6=["d","s","t"];var arr7=arr6.pop();console.log(arr6) // ["d","s"];console.log(arr7);// t

第五:添加最后一个元素,针对老数组最后一个元素后面添加一个元素,新数组返回元素个数 push

var arr8=["i","u","t"];

var arr9=arr8.push("k");

console.log(arr8); //["i","u","t","k"];

console.log(arr9); // 4

第六:shift() 和pop()一样,不同的是操作的是开头删除的元素shift();具体操作不在展示第七:unshiift()和push一样,不同的是操作的是开头添加的元素unshift();具体操作不再展示

第八:反转数组 reverse

方法如下:

var arr1=['w','e','s'];

var arr10=arr1.reverse()

console.log(arr10) //['s','e','w'];

第九:数组排序 sort a-b正向 b-a 反向

正向

var arr11=[3,1,5,8,28]var arr12=arr11.sort(function (a,b) {return a-b;})console.log(arr12) //[1,3,5,8,28];

反向

var arr13=arr11.sort(function (a,b) {return b-a;})console.log(arr13) //[28,8,5,3,1]

第十:数组截取 数组截取的方法主要有slice 和splice,另外说到截取我这里随便也把字符串截取带上,字符串截取的方法主要有substr 和substring

(1)slice 使用方法arr.slice(m,n);其中arr为数组,m,n为两个参数,意思是从已有数组中返回选定的元素,截取位置均为下标,其中m必须,为起始位置,可以为负值,n为结束位置(截取位置并不包含)。

示例如下:

①只有起起始值,并且为正,默认的从起始位置一直到整个数组结束,起始下标从0开始

var arr=[2,3,5,6,8,9]var arr1=arr.slice(1)console.log(arr) // [2,3,5,6,8,9] 老数组是没有变化的,下面不在列举,都是一样的console.log(arr1) //[3,5,6,8,9] 只有起始参数,并且为正值,返回新数组从下标1开始截取

②只有起始值,并且为负,默认的是从起始位置一直到整个数组结束,此处没有起始值,数组的最后一个下标是-1,比如此例,如果从-6开始取,必定是整个数组

var arr=[2,3,5,6,8,9]var arr1=arr.slice(-1)console.log(arr1) //[9] 只有起始参数,并且为负值,从数组尾部截取元素

③有起始值和结束值,并且为正,此处需注意下标是从小到大,比如你(3,1)肯定是取不到值的,另外截取的下标个数并不包含最后一个下标

var arr=[2,3,5,6,8,9]var arr1=arr.slice(1,4)console.log(arr1) //[3,5,6] 此时是从下标1开始到下标4,但是需要注意的是并不包含下标4,准确的说是1-3的下标

④有起始值和结束值,并且为负,此处需注意下秒也是从小到大,同理,比如(-1,-6)也是肯定取不到值的,另外截取的下标个数也并不包含最后一个下标

var arr=[2,3,5,6,8,9]var arr1=arr.slice(-6,-1)console.log(arr1) //[2,3,5,6,8]

⑤有起始值和结束值,并且正负都有

负值到0

var arr=[2,3,5,6,8,9]var arr1=arr.slice(-1,0)

//刚刚都看到了,数组下标都是从小到大的,所以说如果正负都有的情况下,理论上应该可以取值的,比如这个例子,-1为9的小标,0为2的下标,所以取值应该为 [9],但是结果并不是这样的console.log(arr1) //[ ] 从这里可以看出他的结果是为空的,所以从负值到0结果是取不到的

负值到正直

var arr=[2,3,5,6,8,9]

var arr1=arr.slice(-1,2)

//那从负值到正值呢,同样也是取不到值的

console.log(arr1) //[ ]

正直到负值

var arr=[2,3,5,6,8,9]

var arr1=arr.slice(2,-1)

//那从正直到负值,这个理论上是取不到的,但是看下结果

console.log(arr1) //[ 5,6,8] 从结果可以看出是可以取的 原理是2的下标为5,-1的下标为9,不包含结束位置下标

总结:这个方法看着可能会麻烦些(也可能被我写的麻烦啦),比如正到负等,不知道大家都是怎么操作,我一般用这个取值都是只截取正的,所以这个实际操作还是非常简单的。

(2)splice 像数组中添加或者删除元素 arr.splice(m,n,index,index1,...,indexx) m是起始位置,n是删除元素的个数,index是要添加的元素,在不添加元素的前提下,只有第一个参数是必须的,后面两个都不是必须的,在需要添加元素的情况下,三个元素都是必须的,此方法和slice是不一样的,这个返回的是被删除的元素

示例如下:

只删除不添加

注意看此例,是(1,2)删除两个,如果是(1,0),则表示删除零个,也就是不删除的意思,如果只有一个参数则表示从这里开始删除,比如是(1)则为[2],当然这个也是可以取负值,但是这个和slice是不一样的,只能起始位置取负值,因为删除的个数不可能为负值,slice可以取(2,-1),这个就截然不同啦,但是刚刚也说啦,slice是不可以起始位置取负值,结束位置取正的,但是这个是可以的,比如(-1,0)则表示从-1开始删除零个,结果为[2,3,5,6,8,9],(-6,2),结果为[5,6,8,9],另外这个删除的第二个值如果写的过大,也只是删除从本下标到最后一个,比如(2,78)为[2,3]

var arr=[2,3,5,6,8,9]var arr1=arr.splice(1,2)console.log(arr) // [2,6,8,9] 注意看此处才是我们要的数组,从下标1开始删除删除两个console.log(arr1) //[3,5] 此处是我们删除掉的数组

删除加添加 具体的和上面的差不多,主要添加了添加元素的效果,这个也可以添加多个元素

var arr=[2,3,5,6,8,9]var arr1=arr.splice(1,2,"il")console.log(arr) //[2,"li",6,8,9] console.log(arr1) //[3,5]

总结:此方法用的时候,一般也都是只取正值

(3)substr 这个是字符串的用法 用法arr.substr(m,n) m必选也可以负值 n选填,注意看这个并不是结束为止而是截取的个数

示例如下:

只有一个参数 默认从此下标开始,取后面所有的

正值

var arr="sdhgfhf"var arr1=arr.substr(1)console.log(arr)// "sdhgfhf"这个是不变的,下面不再列举console.log(arr1)// "dhgfhf" 从下标1开始取后面所有的

负值

var arr="sdhgfhf"var arr1=arr.substr(-2)console.log(arr1)// "hf" 从下标-2开始取后面所有的

两个参数,从第一个下标开始,截取到下标2的长度

var arr="sdhgfhf"var arr1=arr.substr(1,3)console.log(arr1)// "dhg" 从下标1开始取后面所有的 同理如果为负值,比如(-6,3)则为"hjf";后面的始终为长度

总结:此方法需注意不要和数组的混淆,这个是截取长度的

(4)substring 用法arr.substring(m,n) 两个参数,m必须,起始位置 ,n选填,截取下标的结束位置,此用法和上面slice有点类似,但是需要注意的是此方法是不支持负值的

示例如下:

只有一个参数

var arr="sdhgfhf"var arr1=arr.substring(1)console.log(arr1)//"dhgfhf"从下标1开始取后面所有的

两个参数

var arr="sdhgfhf"var arr1=arr.substring(1,3)console.log(arr1)// "dh"从下标1开始截取到下标3,但是不包含3

总结:此方法不支持负值,只针对下标来截取的

最后,以上主要是总结的数组的一些简单的操作方法,学无止境,继续努力。

阅读更多 >>>  excel函数公式解析,Excel函数公式解析

网站数据信息

"js常用方法总结,Web前端学习之Javascript继承的常用4种方法"浏览人数已经达到23次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:js常用方法总结,Web前端学习之Javascript继承的常用4种方法的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!