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
var str = "abc~!@#$%^&*()_+=|\=-`"
console.log(unescape(escape(str))) // abc~!@#$%^&*()_+=|=-`
eval(string) 该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。
console.log(eval("2+3")) // 5
console.log(eval("a+1")) // NaN
var a = 10
console.log(eval("a+1")) // 11
var c = 'pen'
console.log(eval("c+1")) // pen1
// 创建方法
function pen(name, age){
this.name = name
this.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 }
}
用于判断数字类型中的NaN
var l = eval("a+1")
console.log(l) // NaN
console.log(isNaN(l)) // true
parseInt(string, radix)
string 必需。要被解析的字符串。
radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
console.log(parseInt('10', 2)) // 2
console.log(parseInt('10', 8)) // 8
console.log(parseInt('10', 16)) // 16
console.log(parseInt('10')) // 10 不填写会自动根据字符串数据转化,此处默认为十进制
console.log(parseInt('0x10')) // 16 数据以0x开头默认十六进制
console.log(parseInt('010')) // 10 数据以0开头默认采用八进制
数据进制转化若该进制内没有这个数也会返回NaN
console.log(parseInt('3', 2)) // NaN
parseFloat(string)
string 必需。要被解析的字符串。
console.log(parseFloat('123.456')) // 123.456
将其他数据类型转换成字符串类型
var a = 1
console.log(typeof a.toString()) // string
string.toLocaleUpperCase 根据本地主机环境转换成大写(浏览器设置语言)不改变原string
toLocaleLowerCase 根据本地主机换进转换成小写
toLowerCase 转换成小写
toUpperCase 转换成大写
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( ); // 获取日期与时间
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码的方式,所以一般传一个方法去返回正确的排序方法