系统自带函数汇总(常用)
1. escape() 将特殊字符转换成ASCii码
var str = "abc~!@#$%^&*()_+=|\=-`"console.log(str) // abc~!@#$%^&*()_+=|=-`console.log(escape(str)) // abc%7E%21@%23%24%25%5E%26*%28%29_+%3D%7C%3D-%60
2. unescape() 将ASCii码转成字符串
var str = "abc~!@#$%^&*()_+=|\=-`"console.log(unescape(escape(str))) // abc~!@#$%^&*()_+=|=-`
3. eval() 求值函数
eval(string) 该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。
console.log(eval("2+3")) // 5console.log(eval("a+1")) // NaNvar a = 10console.log(eval("a+1")) // 11var c = 'pen'console.log(eval("c+1")) // pen1// 创建方法function pen(name, age){this.name = namethis.age = age}// 构造函数var pen1 = new pen('张三', 12)var pen2 = new pen('李四', 14)var pen3 = new pen('王五', 15)for (let i = 1; i < 4; i++){// 使用eval var penx = eval('pen' + i)console.log(penx) // pen { name: '张三', age: 12 }// pen { name: '李四', age: 14 }// pen { name: '王五', age: 15 }}
3. isNaN()
用于判断数字类型中的NaN
var l = eval("a+1")console.log(l) // NaNconsole.log(isNaN(l)) // true
4. parseInt()
parseInt(string, radix)
string 必需。要被解析的字符串。
radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
console.log(parseInt('10', 2)) // 2console.log(parseInt('10', 8)) // 8console.log(parseInt('10', 16)) // 16console.log(parseInt('10')) // 10 不填写会自动根据字符串数据转化,此处默认为十进制console.log(parseInt('0x10')) // 16 数据以0x开头默认十六进制console.log(parseInt('010')) // 10 数据以0开头默认采用八进制数据进制转化若该进制内没有这个数也会返回NaNconsole.log(parseInt('3', 2)) // NaN
5. parseFloat()
parseFloat(string)
string 必需。要被解析的字符串。
console.log(parseFloat('123.456')) // 123.456
6. toString()
将其他数据类型转换成字符串类型
var a = 1console.log(typeof a.toString()) // string
7.字符串大小写转换
string.toLocaleUpperCase 根据本地主机环境转换成大写(浏览器设置语言)不改变原string
toLocaleLowerCase 根据本地主机换进转换成小写
toLowerCase 转换成小写
toUpperCase 转换成大写
8. 时间数据获取
myDate.getYear(); // 获取当前年份(2位)myDate.getFullYear(); // 获取完整的年份(4位,1970-????)myDate.getMonth(); // 获取当前月份(0-11,0代表1月)myDate.getDate(); // 获取当前日(1-31)myDate.getDay(); // 获取当前星期X(0-6,0代表星期天)myDate.getTime(); // 获取当前时间(从1970.1.1开始的毫秒数)myDate.getHours(); // 获取当前小时数(0-23)myDate.getMinutes();// 获取当前分钟数(0-59)myDate.getSeconds();// 获取当前秒数(0-59)myDate.getMilliseconds(); // 获取当前毫秒数(0-999)myDate.toLocaleDateString();// 获取当前日期var mytime=myDate.toLocaleTimeString();// 获取当前时间myDate.toLocaleString( ); // 获取日期与时间
9. 数组方法
arr.length 数组元素个数arr.toString() 将数组转换成字符串arr.join() 将数组元素以jion()中设置的字符做分割连接成字符串arr.push() 在数组尾部添加数据arr.concat() 添加元素并生成新数组arr.unshift() 在数组头部添加元素arr.pop() 删除最后一个元素并返回该元素arr.shift() 删除第一个元素并返回该元素arr.splice(start, count, value1, value2 ...) 删除,替换或插入数组元素, 返回对应操作的数组或元素start: 要删除,替换或插入的元素的位置count: 要删除,替换,插入元素的个数value: 要插入数组的值,从start下标处开始插入arr.slice(start, end) 返回一个以start下标开始,end结束的片段数组,不影响原数组 arr.reveres() 将数组的元素颠倒出来arr.sort() 将数组排序,以ascii码的方式,所以一般传一个方法去返回正确的排序方法