Number string
number
Js只有一种数字类型(包括整型,浮点型)
极大或极小的可用科学计数法来表示。(7.7123e+1)
所有js数字均为64位
Js所有的数字都存储为浮点型
小数的最大位数是17位
0开头的为八进制 0x开头的为16进制
console.log(Number.MAX_VALUE); 最大值
console.log(Number.MIN_VALUE);最小值
console.log(Number.NEGATIVE_INFINITY);极大值
console.log(Number.POSITIVE_INFINITY);极小值
IsNaN (如果isNaN函数的参数不是Number类型, isNaN函数会首先尝试将这个参数转换为数值,然后才会对转换后的结果是否是NaN进行判断。)
console.log(Number.isNaN(NaN)); true
console.log(Number.isNaN(Number.NaN)); true
console.log(Number.isNaN(0/0)); true
console.log(Number.isNaN('NaN')); false
console.log(Number.isNaN('')); false
console.log(Number.isNaN('123')); false
console.log(Number.isNaN(true)); false
console.log(Number.isNaN(undefined)); false
console.log(Number.isNaN(' ')); false
toFixed();四舍五入为指定小数位数的数字
var n=12345.6789;
console.log(n.toFixed()); 12346
console.log(n.toFixed(1)); 12345.7
console.log(n.toFixed(2)); 12345.68
console.log(n.toFixed(6)); 12345.678900
console.log(1.23e+20.toFixed(2)); 123000000000000000000.00
console.log(1.23e-20.toFixed(2)); 0.00
console.log(2.45.toFixed(1)); 2.5
toExponential(x);把对象的值转变为指数计数法,x规定小数位数
var n=77.1234;
console.log(n.toExponential()); 7.71234e+1
console.log(n.toExponential(2)); 7.71e+1
console.log(n.toExponential(4)); 7.7123e+1
Toprecision();对象的值超出指定位数时将其转换为指数计数法;
var n=5.1234567;
console.log(n.toPrecision()); 5.1234567
console.log(n.toPrecision(1)); 5
console.log(n.toPrecision(2)); 5.1
console.log(n.toPrecision(5)); 5.1235
console.log((1234.567).toPrecision(2)); 1.2e+3
String
var str='king';
console.log(typeof str); string
var strObj=new String('king');
console.log(typeof strObj); object
console.log(strObj[0]); k
console.log(strObj.length); 4
console.log(strObj.valueOf()); king
console.log(strObj.toString()); king
console.log("nana"[0]); n
console.log("helloworld".length); 10
var str=String('1234'); 1234
str=String(true); true
str=String({x:1}); {obj obj}
str=String(null); null
console.log(str);
charAt()根据下标返回指定的字符
var str='king';
console.log(str.charAt(0)); k
console.log(str.charAt(1)); i
console.log(str.charAt(2)); n
console.log(str.charAt(3)); g
console.log(str.charAt(10)); 空
charCodeAt():返回指定字符的ASCII码值
var str='abcdef';
console.log(str.charCodeAt(0)); 97
console.log(str.charCodeAt(100)); nan
console.log(str.charCodeAt(-123)); nan
fromCharCode():根据指定的ASCII放回对应的字符
console.log(String.fromCharCode(97)); a
console.log(String.fromCharCode(65,66,67)); ABC
concat():连接字符串
var str='hello ';
console.log(str.concat('world')); hello word
console.log(str.concat('world ','!')); hello word !
indexOf();字符串搜索相关
var str='this is a test';
console.log(str.indexOf('t')); 0
console.log(str.indexOf('is')); 2
console.log(str.indexOf('Is')); -1
console.log(str.indexOf('i')); 2
console.log(str.indexOf('i',3)); 5//此处的3指的是从第三位开始
通过indexOf()可以统计一个字符在指定字符串中出现的次数
var str='sssssdlkfjlwk34jlksdfjlksjdlf234';
var count=0;
var pos=str.indexOf('s');
while(pos!=-1){
count++;
pos=str.indexOf('s',pos+1);
}
console.log(count);
lastIndexOf():最后一次出现的位置
var str='this is a test';
console.log(str.indexOf('is')); 2
console.log(str.lastIndexOf('is')); 5
A.localeCompare(b);比较两个字符串(比数值,如果前者大于后者则返回大于0的数,如果后者大于前者则返回小于0的数,相等则返回0)
console.log('h'.localeCompare('j')); -1
console.log('z'.localeCompare('a')); 1
console.log('a'.localeCompare('a')); 0
console.log('b'.localeCompare('B')); 1
RegExp 正则表达式
创建正则表达式的两种方法:
一是字面量、二是构造函数。
Demo
/ab+c/i;
new RegExp('ab+c', 'i');
new RegExp(/ab+c/, 'i');
正则表达式i表示大小写不敏感,g表示全局
match():找到一个或多个正则表达式的结果,返回一个数组
var str='this is a test of king show time';
var re=/IS/i;
console.log(str.match(re));
var str='QWERTYUIOPASDFGHJKLZXCVBNMqwertyuioasdfghjkzxcvbnm';
console.log(str.match(/[a-f]/ig));
search():根据正则表达式进行搜索
var str='this is a test';
console.log(str.search(/is/)); 2
console.log(str.search(/IS/)); -1
console.log(str.search(/IS/i)); 2
Replace();根据正则表达式进行替换
var str='this is a test';
var newStr=str.replace(/IS/ig,'!');
console.log(newStr); th!!a test
var str="2015-09-26";
var newStr=str.replace(/(d{4})-(d{2})-(d{2})/,"$2/$3/$1");
console.log(newStr); 09/26/2015
var str="2015-09-25";
var newStr=str.replace(/(d{4})-(d{2})-(d{2})/,func);
function func(match,d1,d2,d3){
return [d2,d3,d1].join('/');
}
console.log(newStr);
截取字符串slice(开始,结束);(slice左闭右开)substr(开始,长度);
var str='abcdef';
console.log(str.slice(2)); cdef
console.log(str.slice(0,2)); abc
console.log(str.slice(-3)); def
console.log(str.slice(-4,-2)); cd
console.log(str.slice(0,-1)); abcde
console.log(str.substr(3)); def
console.log(str.substr(0,4)); abcd
split()将字符串拆分成数组split(x,y );按照x来进行拆分,y是长度
var str='2015-08-12';
var arr=str.split('-');
console.log(arr); 2015 08 12
var str='a b c d e f';
var arr=str.split(' ');
console.log(arr); a b c d e f
arr=str.split(' ',2);
console.log(arr); a b
字符串大小写相关
console.log("KING".toLowerCase()); 转小写
console.log("KING".toLocaleLowerCase()); 转小写
console.log('nana'.toUpperCase()); 转大写
console.log('nana'.toLocaleUpperCase()); 转大写
trim() 连接并消除空格
var str=' abc ';
alert("!"+str+"!");
alert("!"+str.trim()+"!");
产生锚点
var str="this is a test";
document.body.innerHTML=str.anchor('contents_anchor');
产生链接
var title='this is of king show time';
var url='http://phpfamily.org';
document.write('Click Me to Visit My Blog'+title.link(url));