您的位置:首页 > Web前端 > JavaScript

js中数组/字符串常用属性方法归纳

2016-09-27 20:11 537 查看
1、数组创建:

new Array(5)-->创建有5个元素的数组;

new Array()-->创建空数组;

new Array("a","b","b")-->创建有3个元素,分别为abc的数组;

[]-->创建空数组;

["a","b","b"]-->创建有3个元素,分别为abc的数组;

2、数组的方法:

arr1.concat(arr2) --> concat()连接数组1和数组2返回连接后得新数组;

arr.join(".") --> join()以它的参数字符串符号来连接数组的元素,返回连接后得字符串;

arr.slice(start,end) -->slice(1,5) 获取数值之间的arr元素,返回一个新的数组,1(包括)为初始元素,5为结束元素(不
包括),本例获取的是arr的第2,3,4,5个元素,不包括第6个元素,若没给第2个参数则返回包括1在内的后面所有元 素,若只有一个参数并且 为负数的话,返回的是从数组尾部截取这个负数;

arr.push(ele1,ele2..),arr数组的末尾添加一个或多个元素,并返回新的长度。

arr.unshift((ele1,ele2..),arr数组的开头添加一个或更多元素,并返回新的长度。

arr.pop(),从arr中移除最后一个元素,并且返回它删除的元素(最后一个)的值。如果aar已经为空,则 pop() 不改变数组,并返回 undefined 值。

arr.shift(),从arr中移除第一个元素,并且返回它删除的元素(第一个)的值。如果aar已经为空,则 pop() 不改变数组,并返回 undefined

arr.reverse(),颠倒数组中元素的顺序.

arr.splice(index,length,newItem1,newItem2,......) ,方法向/从数组中添加/删除项目,然后返回被修改后得到的新数组。index为指定的要移除或添
加的位置处,可为负值,负值的话是从后1开始计算不是0,length为删除包括index在内的后面几个数组元素,newItem为在删除处添加的新数组元素, 可选项;

arr.valueOf() ,返回数组相同的元素组成的新数组;

[1,2,3]===[1,2,3]返回false, [1,2,3]==[1,2,3]返回false, 因为数组也是引用类型,不是基本(值)类型,相同的数组体却是不同
的对象,一个是放在栈里,一个是放在堆里

arr.indexOf(item,(可选start))返回数组的的索引值,item为数组的元素,start表示从数组的哪个位置开始向后查找,没有找
到,则返回-1

arr.lastIndexof(item,(可选start))从数组的后面开始查找返回数组的的索引值,item为数组的元素,start表示从数组的哪个位置开始
向前查找,没有找到,则返回-1

数组的属性:

arr.constructor返回arr的构造函数---function Array(){native code};

arr.length返回数组的长度;

Array.prototype[name]数组原型,可以向Array原型链添加属性或方法。

3、字符串

字符串属性同数组;

str.charAt(index)返回str索引为index数值的单个字符,index为空则默认为0,没有找到返回空字符串;

str.charCodeAt(index)返回str索引为index数值的单个字符的unicode(统一码),index为空则默认为0,没有找到返回NaN;

str1.concat(str2)字符串连接,两个字符串连接用空格隔开,返回新连接的字符串;

str.fromCharCode(n1,n2,n3...)返回nx(unicode)所对应的单个字符,多个则连续转换对应字符,没转换成功把对应的统一码转换成
空字符串;

str.indexOf(str1)返回子字符串str1在查找字符串str中第一次出现的位置,没有找到则返回-1,;

str1.localeCompare(str2)判定两个字符串排序,如果str1排在str2,之前那么返回-1,之后返回1,相等返回0;

str.match(regexp)在str中匹配正则,以数组形式返回匹配到的字符串;

str.replace(old,new) 在字符串str中查找old字符串(可以是正则),用new字符串来替换;返回替换后的新字符串;

str.search(str1) 在字符串str中查找str1,返回第一次出现str1的位置,没有找到返回-1;

str.slice(start,end(可选)) 返回start和end数值下标之间的字符串.end为空返回start后全部字符串;

str.split(" ")把str用split方法中的符号为间隔切割字符串返回一个数组;

str.substr(start,length(可选))返回以start下标开始以length为长度之间的字符串,若length为空,则返回下标后得全部字符
串;

str.substring(start,end)一个参数的话返回下标后所有字符串,两个参数的话,以小的为开始以大的为结束,返回量下标之间的字符 串 ;

str.toString()把str或obj返回字符串对象;

str.trim()除去str两端的空格,返回去空格的字符串,不支持IE8及前面版本;

str.valueOf() 返回str原始值;

str.toUpperCase()把str字母全部转成大写;

str.toLowerCase()把str字母全部转成小写;

str.toLocaleUpperCase()以本地方式把str字母全部转换成大写;

str.toLocaleLowerCase()以本地方式把str字母全部转换成小写;

4、函数名与变量名相同的话,函数声明可以覆盖未赋值的变量,但不能覆盖已赋值的变量, 调用该与变量名相同的函数会报错;arguments[i]可以改变函数传进来的形参(局部变量);(function(){alert(this)}).call(null/undefined)//this为window;任何全局变量都为window对象的属性,在判断一个未声明的变量时会输出undefined,IE会报错,在判断一个对象未声明的属性时都会输出undefined,变量声明会被提升,但赋值不会被提升;

5、操作符的二义性,[ ] 创建数组,属性或数组下标读取寸;{ }对象声明,函数直接量声明,复合语句,结构语句限定如winth(){},swith(){},try{}catch() {};, 连续运算符,数组或json元素分割符,函数形参分隔符;+字符串连接符,数值运算符,增值运算符;()函数执行运算符,优先级强制运算符,参数声明;;空语句;:冒号,标签声明,三目中条件为false的表达式分支,对象成员声明,switch分支;

6、比较:

空字符串与数字比较,空字符串会转换为0,false转换为0,,true转换为1,true>false;两个引用类型是不相等的比较总是返回false;数 字对象引用类型比较由数字对象的值决定,两个字符串比较时,会比较两个字符串的序列,长度大的大,字符串为数字类型字符串时与 数字比较, 将转换成数字比较,将字符串转换得到的是NaN时怎么比较都为false,NaN不等于它本身;undefined会转换为false,空格字 符 串为false;Null为false;null==null为true;{}为true;null===undefined为false;null==undefined为true;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: