js string和number
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 判断是不是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); //obj
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
//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)); //
console.log(str.charAt(b)); //-1
//charCodeAt():返回指定字符的ASCII码值
var str='abcdef';
console.log(str.charCodeAt(0));//a的ASCII码值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));
var str='hello ';
console.log(str.concat('world'));
// hello world
console.log(str.concat('world ','!'));
// hello world!
//字符串搜索相关
var str='this is a test';
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
比较两个字符串
console.log('h'.localeCompare('j'));
104和106
大 显示负数
后面小 显示正数
match():找到一个或多个正则表达式的结果
var str='this is a test of
king show time';
var
re=/IS/i; i不区分大小写
console.log(str.match(re));
var str='QWERTYUIOPASDFGHJKLZXCVBNMqwertyuioasdfghjkzxcvbnm';
console.log(str.match(/[a-f]/ig));
g是全局匹配(搜索)
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
var str='this is a test';
var
newStr=str.replace(/IS/ig,'!'); th! ! a test
把is替换成!
var str="2015-09-26";
var
newStr=str.replace(/(\d{4})-(\d{2})-(\d{2})/,"$2/$3/$1");
09/26/2015 换位置
截取字符串
var str='abcdef';
console.log(str.slice(2)); cdef
console.log(str.slice(0,2)); 左开右闭
ab 只显示0 1
后面闭合相当于没有
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()将字符串拆分成数组
var
str='2015-08-12';
var
arr=str.split('-'); ["2015", "08",
"12"]
console.log(arr);
var
str='a b c d e f';
var
arr=str.split(' ');
["a", "b", "c", "d",
"e", "f"]
console.log(arr);
arr=str.split('
',2);
["a", "b"]
console.log(arr);
字符串大小写相关
(大写换小写 小写换大写)
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');
this is a test 把变量this is a test输入进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)); 把链接代替到英文字母里 点字母跳入到链接里
js string和number的更多相关文章
- IE6,IE7,IE8下报JS错误:expected identifier, string or number的原因及解决的方法
今天在调试一个页面的时候遇到一个问题,在IE9下执行得非常好的脚本,在IE8里打开的时候弹出错误:expected identifier, string or number,依照经验,应该是定义对象的 ...
- JavaScript在IE6,IE7下报错'expected identifier, string or number'
问题: 代码在Forefox和IE8下工作正常,但是在IE6下报错: expected identifier, string or number 假如变量options有多个选项,那么我们可以用逗号分 ...
- js中声明Number的五种方式
转载自:http://www.jb51.net/article/34191.htm <!DOCTYPE html> <html> <head> <meta c ...
- ie6 ie7下报脚本错误"Expected identifier, string or number" 的原因和解决方法
在IE6和ie7里面,脚本报错"Expected identifier, string or number" 写下这个是个之前我已经很头疼了,因为我的代码在其他浏览器里都是正常的, ...
- err Invalid input of type: 'dict'. Convert to a byte, string or number first
一个问题引发的血案: 用python向redis写入数据报错: redis.exceptions.DataError: Invalid input of type: 'dict'. Convert t ...
- js 中的 number 为何很怪异
js 中的 number 为何很怪异 声明:需要读者对二进制有一定的了解 对于 JavaScript 开发者来说,或多或少都遇到过 js 在处理数字上的奇怪现象,比如: > 0.1 + 0.2 ...
- js String方法总结
字符方法(3) charAt(pos: number): string; // 返回特定位置的字符. charCodeAt(index: number): number; // 返回表示给定索引的字符 ...
- Right in the Center (js string algorithm)
Right in the Center (js string algorithm) codewars https://www.codewars.com/kata/5f5da7a415fbdc0001a ...
- javax.script.ScriptException: ReferenceError: "window" is not defined in security.js at line number 10
使用jmeter执行加密登录接口的测试遇到的问题. 问题记录: 今天使用jmeter执行加密登录接口的测试,因为测试环境的应用包是以前的老版本(可能有两年了),所以需要替换加密文件:security. ...
随机推荐
- 关于学习CentOS7使用firewalld打开关闭防火墙和端口
1.firewalld简介 firewalld是centos7的一大特点,主要有两个优点:一是支持动态更新,不需要重启服务:二就是加入了防火墙的“zone”概念. firewalld有图形界面和工具界 ...
- java List<Map<String,Object>遍历的方法
public static void main(String[] args) { List<HashMap<String, Object>> list = new ArrayL ...
- 基于Keepalived的MySQL高可用
keepalived负责的是故障转移,至于故障转以后的节点之间数据的一致性问题依赖于具体的复制模式.不管是主从.一主多从还是双主.集群节点个数.主从具体的模式无关(常规复制,半同步复制,GTID复制, ...
- dump命令详解
1.简介: dump命令用于备份文件系统. dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件. 2.语法: dump [-cnu][-0123456789][-b & ...
- linux 之 shell
echo 输出命令 语法:echo [选项][输出内容] 选项 -e:支持反斜线控制的字符转换 范例 vi hello.sh #!/bin/bash #author liuch echo " ...
- c#遍历一个对象中所有的属性和值
SpDictItem sp = GetCFHObject.GetSpItem("); PropertyInfo[] propertys = sp.GetType().GetPropertie ...
- oracle数值函数 abs()、 ceil()、 cos()、 cosh()
1.abs绝对值函数 格式 abs(number) 即abs(数值) 例如 abs(100) 结果为 100,abs(-100)结果为100: 2.ceil用来取数值最小整数函数 格式 ceil(nu ...
- 链接错误:multiple definition of 'xxx' 问题解决及其原理
内容借鉴 于CSDN炸鸡叔 错因 截图: “multiple definition of 'head' ” “multiple definition of 'tail' ” 解决过程: 1.首先要 ...
- Mybatis 接口代理的实现(BeanDefinitionRegistryPostProcessor+FactoryBean)
相信在开发中,尤其是mybatis 配置操作中,我们只需要提供一个mapper 接口,然后注入到service 中,就可以进行调用. 按我们的一般逻辑来说,我们并没有进行接口的实现,应该会报空指针异常 ...
- java-27 Properties类的使用
1.Properties Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. 2.方法 setProperty( ...