JS常用的标准函数
原文:JS常用的标准函数
1、Array类型函数
array.concat(item...)
函数功能:关联数组,实现数组相加功能,但并不影响原先数组,concat返回新数组。

array.join(separator)
函数功能:将array中的每个元素用separator为分隔符构造成字符串,默认的separator是逗号,当然你可以自己指定separator
事实上join方法最常用的地方在字符串相加,用过js的人都知道js的字符串相加是特别慢且性能特别差的,把大量片段字符串放在一个数组中并用join方法连接比用+连接要快得多。

array.pop()
pop和push方法使数组array像堆栈一样工作。
函数功能:pop方法移除array中的最后一个元素并返回该元素。
如果array是空的,则返回undefined;

array.push(item...)
函数功能:push方法将一个或多个item参数附加到array尾部。但是它不像concat方法那样,push方法不会修改item参数,如果参数item是一个数组,它会将参数数组作为单个元素整个添加到数组中,它返回array的新长度

array.reverse()
函数功能:反转array中元素的顺序,返回当前array
array.shift()
函数功能:移除array中的第一个元素并返回该元素,如果array是空的,它会返回undefined。
shift比pop要慢很多
array.slice(start,end)
函数功能:对array中的一段做浅复制。end参数是可选的,默认值为数组的长度array.length。
如果两个参数中任何一个是负数,array.length将和它们相加来试图将它们成为非负数。
如果start大于等于array.length,得到的结果将是一个新的空数组

array.sort(compareFn)
函数功能:对array中的内容进行排序。
var n = [4, 8, 15, 16, 23, 43];
n.sort(function (a, b) {
return a - b;
});
console.log(n); //[4, 8, 15, 16, 23, 43]
var m = ['aa', 'bb', 'a', 4, 8, 15, 16, 23, 43];
m.sort(function (a, b) {
if (a === b) {
return 0;
}
if (typeof a === typeof b) {
return a < b ? -1 : 1;
}
return typeof a < typeof b ? -1 : 1;
});
console.log(m); //[4, 8, 15, 16, 23, 43, "a", "aa", "bb"]
var compare = function (name) {
return function (o, p) {
var a, b;
if (typeof o === 'object' && typeof p === 'object' && o && p) {
a = o[name];
b = p[name];
if (a === b) {
return 0;
}
if (typeof a === typeof b) {
return a < b ? -1 : 1;
}
return typeof a < typeof b ? -1 : 1;
} else {
throw {
name: "Error",
message: 'Expected an object when sorting by ' + name
};
}
};
};
var s = [
{ first: 'Joe', last: 'Felix' },
{ first: 'Moe', last: 'Besser' },
{ first: 'Joe', last: 'Howard' },
{ first: 'Shemp', last: 'DeRita' },
{ first: 'Larry', last: 'Howard' },
{ first: 'Curly', last: 'Fine' },
{ first: 'Shirly', last: 'Angela' }
];
s.sort(compare('first'));
/*
s = [
{ first: 'Curly', last: 'Fine' },
{ first: 'Joe', last: 'Felix' },
{ first: 'Joe', last: 'Howard' },
{ first: 'Larry', last: 'Howard' },
{ first: 'Moe', last: 'Besser' },
{ first: 'Shemp', last: 'DeRita' },
{ first: 'Shirly', last: 'Angela' }
];
*/
array.splice(start,deleteCount,item...)
函数功能:从array中移除1个或多个元素,并用新的item替换它们。返回一个包含移除元素的数组。
array.unshift(item...)
函数功能:将item插入到array的开始部位。返回array的新长度值。
2、Function类型函数
function.apply(thisArg,argArray)
Function.prototype.bind = function (that) {
//返回一个函数,调用这个函数就像它是那个对象的方法一样
var method = this,
slice = Array.prototype.slice,
args = slice.apply(arguments, [1]);
return function () {
return method.apply(that, args.concat(slice.apply(arguments, [0])));
};
};
var x = function () {
return this.value;
} .bind({ value: 666 });
console.log(x());//
3、Number类型函数
number.toExponential(fractionDigits)
函数功能:把number转换成一个指数形式的字符串。可选参数fractionDigits控制其小数点后的数字位数,它的值必须在0到20之间。

number.toFixed(fractionDigits)
函数功能:把number转换成一个十进制形式的字符串。可选参数fractionDigits控制其小数点后的数字位数,它的值必须在0到20之间。默认为0。

number.toPrecision(precision)
函数功能:把number转换成一个十进制形式的字符串。可选参数fractionDigits控制其小数点后的数字位数,它的值必须在1到21之间。

number.toString(radix)
函数功能:把number转换成一个字符串。可靠参数radix控制基数,它的值必须在2和36之间,默认为10

4、Object类型函数
object.hasOwnProperty(name)
函数功能:如果object包含名为name的属性,hasOwnProperty方法将返回true,原型链中的同名属性是不会被检查的。
for (name in obj) {
if (obj.hasOwnProperty(name)) {
console.log(obj[name]);
}
}
5、Regexp类型函数
regexp.exec(string)
函数功能:成功匹配regexp和字符串,返回一个数组。
数组中下标为0的元素包含正则表达式regexp匹配的子字符串
下标为1的元素是分组1捕获的文本,下标为2的元素是分组2捕获的文本,依此类推。如果匹配失败,就返回null。
如果regexp带有一个g(全局)标志,查找不是从这个字符串起始位置开始,而是从regexp.lastIndex(它的初始值为0)位置开始,如果匹配成功,那么regexp.lastIndex将被设置为该匹配后第一个字符的位置。 不成功的匹配会重置regexp.lastIndex为0
regexp.test(string)
函数功能:如果regexp匹配string,返回true 否则返回false
6、String类型函数
string.charAt(pos)
函数功能:返回在string中pos位置处的字符。
如果pos小于0或者大于string.length,将返回空字符串
string.charCodeAt(pos)
函数功能:返回在string中pos位置处的字符的字符编码。
string.concat(string...)
函数功能:连接字符串(不过很少被使用,因为用运算符+也能实现这个功能)
string.indexOf(searchString,position)
函数功能:在string内查找另一个字符串searchString,如果找到则返回第一个匹配字符的位置,否则返回-1。
可选参数position可设置从string的某个位置开始查找。
string.lastIndexOf(searchString,position)
函数功能:跟indexOf方法类似,区别是从字符串的末尾开始查找而不是从开头。
string.localCompare(that)
函数功能:比较两个字符串
string.match(regexp)
函数功能:匹配一个字符串和一个正则表达式。
如果没有g标识,string.match(regexp)和regexp.exec(string)结果相同。
如果有g标识,返回一个包含除捕获分组之处的所有匹配的数组。
string.replace(searchValue,replaceValue)
函数功能:对string进行查找和替换操作,并返回一个新的字符串。
var oldAreaCode = /\((\d{3})\)/g;
var p = '(555)(666)-1212'.replace(oldAreaCode, '$1-');
console.log(p);//555-666--1212
string.search(regexp)
函数功能:和indexOf方法类似,只是它接受一个正则表达式作为参数而不是一个字符串,如果找到匹配返回第一个匹配的首字符位置,如果没有找到匹配,则返回-1。
string.slice(start,end)
函数功能:复制string的一部分来构造一个新的字符串。
如果start参数是负数,它将与string.length相加。end参数是可选的,并且它的默认值是string.length。如果end参数是负数,它将与string.length相加。end参数是一个比最末一个字符的位置值还大的数。
string.split(separator,limit)
函数功能:把string分割成片段来创建一个字符串数组。可选参数limit可以限制被分割的片段数量。
var digits = '0123456789';
var a = digits.split('', 5); //["0", "1", "2", "3", "4"]
string.substring(start,end)
函数功能:substring的用法和slice方法一样,只是它不能处理负数参数,一般性的用slice替代它。
string.toLocalLowerCase()
函数功能:用本地化的规则把string中的所有字母转换为小写格式。
string.toLocalUpperCase()
函数功能:用本地化的规则把string中的所有字母转换为大写格式。
string.toLowerCase()
函数功能: 把string中的所有字母都转化为小写格式。
string.toUpperCase()
函数功能: 把string中的所有字母都转化为大格式。
string.fromCharCode(char...)
函数功能:从一串数字中返回一个字符串。
var a = String.fromCharCode(67, 97, 116);
console.log(a);//Cat;
JS常用的标准函数的更多相关文章
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
- Js常用技巧
摘录:http://crasywind.blog.163.com/blog/static/7820316920091011643149/ js 常用技巧 1. on contextmenu=" ...
- JS 常用功能收集
JS 常用效果收集 1. 回到顶部>> 爱词霸
- JS常用校验方法(判断输入框是否为空,数字,电话,邮件,四舍五入等)
JS常用校验方法: 1.判断输入框是否为空,为空时弹出提示框 2.关闭窗口 3.检查输入字符串是否为数字 4.强制把大写转换成小写 5.手机号码校验,长度为11位数字. 6.电子邮件校验 7.电话号码 ...
- Node.js 常用工具
Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.inherits util.inherit ...
- JS常用正则表达式备忘录
摘要: 玩转正则表达式. 原文:JS常用正则表达式备忘录 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 正则表达式或"regex"用于匹配字符串的各个部分 下面是 ...
- js常用数据类型(Number,String,undefined,boolean) 引用类型( function,object,null ),其他数据类型( 数组Array,时间Date,正则RegExp ),数组与对象的使用
js常用数据类型 数字类型 | 字符串类型 | 未定义类型 | 布尔类型 typeof()函数查看变量类型 数字类型 Number var a1 = 10; var a2 = 3.66; conso ...
- js常用身份校验规则
js常用身份校验规则 var Validator = { extractBirth: function(id) { // 身份证提取出生年月 var re = null, split, year, m ...
- JS常用类
JS常用类 一.Number 1.常用数字 整数:10 小数:3.14 科学计数法:1e5 | 1e-5 正负无穷:Infinity | -Infinity 2.常用进制 二进制:0b1010 八进制 ...
随机推荐
- Webots入门(二)-build up a controller
A simple controller 控制器程序读取传感器的值,然后改动行走速度来避开障碍物. 以下是控制器源码mybot_simple.c: #include<webots/robot.h& ...
- 图片切割工具---产生多个div切割图片 采用for和一的二维阵列设置背景位置
照片库 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb21vZ2c=/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- Android View系统解析(上)
- MySQL存储过程:用户授权量
写这些脚本需求放缓的调查记录到数据库,方便观看. 1. 因为默认mysql.slow_log表使用csv数据引擎,该数据不支持指数,因此,有必要改变MyISAM发动机.和query_time字段索引, ...
- UVA 11249 - Game(游戏)
UVA 11249 - Game 题目链接 题意:两堆石头.a和b.每次能取一堆随意数量,或者两堆同一时候取.可是绝对值差不能超过k,最后不能取的人输,问先手能否赢 思路:先如果(a, b)石子,a是 ...
- RFC 协议下载方法
rfc官方网站:http://tools.ietf.org 举例说明: RFC7230是HTTP 1.1协议,此文档的URL为:http://tools.ietf.org/html/rfc7230 你 ...
- APP漏洞导致移动支付隐患重重,未来之路怎样走?
没有一种支付是100%安全的,互联网及移动支付规模的增长,其交易的安全性须要银行.支付公司.App开发人员.用户等參与各方更加重视.当下手机支付似乎变成了一种时尚,用户们"刷手机" ...
- 你如何破解后安装PS cs6
至于破解程序猿支持,资源共享是只有更好的,我相信有很多孩子还在用cs5看版本号.假设你想尝试新的版本号PS.但很长一段时间不能找到字的串行数.现在,你如何支付你的序列号和使用永久裂纹PS cs6. 好 ...
- 2款不同样式的CSS3 Loading加载动画 附源码
原文:2款不同样式的CSS3 Loading加载动画 附源码 我们经常看到的Loading加载很多都是转圈圈的那种,今天我们来换一种有创意的CSS3 Loading加载动画,一种是声波形状的动画,另一 ...
- 编写WCF服务时右击配置文件无“Edit WCF Configuration”(编辑 WCF 配置)远程的解决办法
原文:编写WCF服务时右击配置文件无“Edit WCF Configuration”远程的解决办法 今天在看<WCF揭秘>书中看到作者提出可以在一个WCF Host应用程序的App.Con ...