JS常用


一、运算符

比较运算符:大于> 、  小于<  、 大于或等于>=  、  小于或等于 <= 、等于== 、 不等于!= 、绝对等===(值和类型全满足才等于)

逻辑运算符:&& = and =与都满足为true; || = or = 或  满足其一即可 为true ; not 非

条件运算符:三目运算 var  val = condition :value1? value2; 条件condition为true时val为value1 反之为value2


二、字符串运算

indexOf方法定位字符串中某一个指定的字符首次出现的位置, 

用法:str.indexOf(searchvalue必需,index可选 0至len-1),当检索的字符串值没有出现,则该方法返回 -1;区分大小写。


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

扫描二维码关注公众号,回复: 530716 查看本文章

用法: str.lastIndexOf(searchvalue必需,index可选 0至len-1),方法将从尾到头地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的结尾(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一个字符在 stringObject 中的位置。stringObject 中的字符位置是从 0 开始的(检索顺序由尾向头部)。


substring方法用于提取字符串中介于两个指定下标之间的字符。

用法:str.substring(start必需,stop可选);

返回值:一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop减 start,但是不包括stop处的字符

eg:

<script type="text/javascript">

var str="Hello world!"
document.write(str.substring(3,7))//输出lo w

</script>

注:与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。


substr方法可在字符串中抽取从 start 下标开始的指定数目的字符。

用法: str.substr(start必需,len可选);

返回值:一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。

eg:

<script type="text/javascript">

var str="Hello world!"
document.write(str.substr(3,7))//输出lo worl

</script>

match方法:根据指定字符串或者正则表达式匹配返回字符,方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

用法:1、str.match(searchval)   2、str.match(regexp需对象)

返回值:存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g;反之为null

eg:

<script type="text/javascript">

var str="1 plus 2 equal 3"
document.write(str.match(/\d+/g))//输出1,2,3  正则找数字

</script>

replace方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

用法:strz.replace(Regexp对象\substr,replacestr)

返回值:一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

eg:

<script type="text/javascript">

var str="Hello Mary!"
document.write(str.replace(/Mary/, "Json"));//输出Hello Json

</script>
正则同理!


split方法用于把一个字符串分割成字符串数组。

用法:str.split(sep指定字符或正则,howmany)

返回值:数组。通过在 sep指定的边界处将字符串 str 分割成子串创建的。返回的数组中的字串不包括 sep 自身。

但是,

join方法:用于把数组中的所有元素放入一个字符串(数组操作)。

用法:arr.join("/")

返回值:一个由数组值拼接而成的字符串,拼接字符为sep

eg:

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.join("/"));//输出George/John/Thomas

</script>

如果  sep 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

eg:

"2:3:4:5".split(":")	//将返回["2", "3", "4", "5"]
"|a|b|c".split("|")	//将返回["", "a", "b", "c"]
注: split() 执行的操作与  Array.join  执行的操作是相反的。


join方法用于把数组中的所有元素放入一个字符串(数组操作)。

用法:arr.join("/")

返回值:一个由数组值拼接而成的字符串,拼接字符为sep

eg:

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.join("/"));//输出George/John/Thomas

</script>

toLocaleLowerCase+toLowerCase方法:用于把字符串中全部转化为小写

返回值:返回新的小写字符串


toLocaleUpperCase+toUpperCase方法:用于把字符串全部转化为大写

返回值:返回新的大写字符串


toString()方法:用于返回字符串

返回值:字符串

用法:strObject.toString()


Number()方法:用于将对象值转化为数字类型

返回值:数字型,

注:如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。

用法:Number(object)


三、数组运算

push方法:向数组末尾追加新值

返回值:数组

用法:arr.push(item);

concat方法:连接两个或多个数组。

返回值:返回一个新的数组

用法:arrObject.concat(arrItem);


join方法:用于把数组中的所有元素放入一个字符串(数组操作)。
用法:arr.join("/")
返回值:一个由数组值拼接而成的字符串,拼接字符为sep
eg:

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.join("/"));//输出George/John/Thomas
</script>


pop方法:用于删除数组并返回最后一个数组值

用法:arrObject.pop();


shift方法:用于删除数组并返回第一个数组值

用法:arrObject.shift()


reverse方法:用于颠倒数组的顺序,并返回新数组

用法:arrObject.reverse()


sort()方法:用于数组排序

返回值:新数组

用法:sort(可执行函数);

eg:

<script type="text/javascript">

function sortNumber(a,b)
{
return a - b
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))

</script>

splice方法:用于数组增加或删除项目

返回值:返回新数组

用法:splice(index索引,howmany数量,Item1新项目);可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

eg:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,3,"William")
document.write(arr)//输出George,John,Thomas,James,Adrew,Martin
//George,John,William,Martin

</script>

for{}方法:用于数组循环遍历

用法:for(var i = 0, len = arr.length; i < len; i++){//code}//最优雅,性能相对较佳

for(var i = 0; arr[i] != null; i++){//code}

arr.forEach(function(e){//code})

for(i in arr){//code}
arr.map(function(e){//code})

filter方法:用于过滤数值

未使用filter时eg:

var arrItem=[

{"name":"jim","age":"24"},

{"name":"json","age":"20"}

]

var arrNew = [];

for(var i = 0, len = arrItem.len; i < len; i++){

if(arrItem[i].name == "json"){

arrNew.push(arrItem[i]);

}

}


使用filter过滤器:

var arrItem=[

{"name":"jim","age":"24"},

{"name":"json","age":"20"}

]

var arrNew =  arrItem.filter(function(item){

return item.name == "json";

});

}


四、JS错误捕捉

throw\try\catch方法:用于捕捉程序中出现的错误并对其进行处理操作

用法:try{//your code }catch(err){console.log(err.message)}

eg:

function testTry(){
		try{
			var val = document.getElementById('inputval').value;
			if(val == "")  throw "输入为空";
			if(isNAN(val)) throw "不是数值型";
		}catch(err){
			alert("错误为:"+err)
		}
	}
	function testTry();

五、Math对象

random方法:用于生成伪随机数,范围为[0,1)

用法:Math.random()


ceil方法:用于函数向上取整

用法:Math.ceil(num必需数值型);

eg:Math.ceil(0.6); //1    Math.ceil(0.4); //1


floor方法:用于函数向下取整

用法:Math.floor(num必需数值型);

eg:Math.floor(0.6);// 0 Math.floor(0.4); //0


round方法:四舍五入方法取最接近的整数

用法:Math.round(0.6);//1 Math.round(0.4);//0


parseInt方法解析一个字符串,并返回一个整数,这里可以简单理解成返回舍去参数的小数部分后的整数。

用法:parseInt(X);

eg:parseInt(0.6);// 0  parseInt(2.4);//2  parseInt(-5.6);//-5


parseFloat方法函数可解析一个字符串,并返回一个浮点数。

用法:parseFloat(String)

eg:parseFloat("10");//10  parseFloat("10.00");//10.00   parseFloat("It is 24");//NAN


toFixed方法:用于四舍五入指定保留值的小数位数

用法:toFixed(num) 


六、节点操作

新增:document.createElement("DIV");//createTextNode文本

添加:parent.appendChild(DIV);

删除:parent.remove(child);  //推荐:Element.innerHtml = "";   child.parentNode.removeChild(child);

修改:ClassName += "newClass";   setAttribute("class","classname");  indexOf配合替换动态修改


七、定时器

setTimeout、setInterval:都是定时器

用法;setTimeout(function,time);  setInterval(function,time);

区别:setTimeout为延迟time时间再执行function,只执行一次;而setInterval为间隔time时间周期性执行function,执行次数不固定。另外此类函数尽量少用,定时器极消耗内存。


mark下,方便coding的时候找到~~~~

猜你喜欢

转载自blog.csdn.net/ime33/article/details/78082381
今日推荐