javascript原始数据类型
来源:互联网 发布:玫琳凯淘宝店是正品吗 编辑:程序博客网 时间:2024/05/18 00:42
前面有提到过javascript的几个引用类型,还差了Function类型,想放在后面学习函数的时候一起总结。今天,主要是总结javascript原始数据类型的一些方法,细节方面也不做说明了。
javascript的原始数据类型有Boolean类型、Number类型和String类型。还有Null和Undefined在javascript基本概念中有介绍过,这里也不再提了。
在介绍对应类型的方法之前,有一点需要特别强调下,那就是基本包装类型跟引用类型的区别:
- 原始值不可改变。引用类型值是可修改的;
- 原始值的比较是值的比较。引用类型值的比较是引用的比较;
- 原始值只存在于一行代码的执行瞬间,然后会立即被销毁。引用类型实例一直保存在内存中。
Number类型
数值转换为字符串
Number类型提供了一些将数值格式化为字符串的方法:
toFixed()
toFixed()方法根据传进去的参数控制小数点后指定的位数。从不使用指数计数法。该方法有一个参数,即表示小数点后面数字的位数。例如:
var num=10.0005;alert(num.toFixed(2)); //10.00注意,该方法会进行适当的四舍五入或者补充0,如:
var num1=10.0005;alert(num1.toFixed(3)); //10.001var num2=10.0004;alert(num2.toFixed(3)); //10.000alert(num2.toFixed(6)); //10.000400
toExponential()
toExponential()使用指数计数法(科学计数法)将数字转换为指数形式字符串,其中小数点前只有一位,小数点后的位数有传入的参数决定。该方法也会进行适当的四舍五入或补充0。如:
var num=100.208;alert(num.toExponential(3)); //1.002e+2alert(num.toExponential(4)); //1.0021e+2alert(num.toExponential(8)); //1.00208000e+2
toPrecision()
toPrecision()根据制定的有效数字位数(包括小数点后面的位数)将数字转换为字符串。如果有效数字位数少于数字整数部分位数,将转换为指数计数法。该方法也会进行适当的四舍五入或补充0。如:
var num=100.208;alert(num.toPrecision(5)); //100.21alert(num.toPrecision(3)); //100alert(num.toPrecision(1)); //1e+2
字符串转换为数值
javascript中还有一些方法能将字符串转换为数值,如Number()强制转换、parseInt()和parseFloat()。
Number()强制转换
Number()只能基于十进制进行转换。并且不能出现非法的尾随字符。它有一个参数,即要转换的字符串。如:
var str1="123blue";alert(Number(str1)); //NaNvar str2="123";alert(Number(str2)); //123
parseInt()
parseInt()从字符串开始处转换和返回任何的数字,并且会忽略或舍去非数字部分。它允许开头和结尾的空白。parseInt()只解析整数。看个例子:
var str1="123blue";alert(parseInt(str1)); //123var str2="blue123";alert(parseInt(str2)); //NaNparseInt()还接受第二个参数,用于说明要解析的数字的基数,如:
var str1="11";alert(parseInt(str1,2)); //3 (1*2+1)
parseFloat()
parseFloat()的解析方式跟parseInt()一样,只不过它可以解析整数跟浮点数。并且它只有一个参数,就是要解析的字符串。
var str1="11.02eee";alert(parseFloat(str1)); //11.02var str2="....2334";alert(parseFloat(str2)); //NaNvar str3="1.2.3";alert(parseFloat(str3)); //1.2
String类型
字符方法
charAt()
charAt()方法接收一个基于0的字符位置参数,返回给定位置的那个字符。
var str="javascript";alert(str.charAt(3)); //a
charCodeAt()
charCodeAt()也接受一个基于0的字符位置参数,只不过它返回的是给定位置的字符的编码。
var str="javascript";alert(str.charCodeAt(3)); //97
字符串操作方法
concat()
concat()方法用于拼接字符串。它可以接受任意多个参数,即要拼接的字符串。调用该方法不会修改源字符串。
var str="javascript";alert(str.concat("不是","Java")); //javascript不是Javaalert(str); //javascript
slice()
slice()方法用于返回子字符串。它接受两个参数,一个是子串开始的位置,另一个是子串结束的位置。返回的子串包含开始位置但不包含结束位置。当传入的参数是负值时,可以将字符串的长度于参数相加,得到的值再作为参数;当只传入一个参数,则将该参数作为起始位置,返回从这个位置开始到字符串结束的所有字符;当起始位置大于结束位置时,将返回空字符串。如:
var str="javascript";alert(str.slice(0,4)); //javaalert(str.slice(4)); //scriptalert(str.slice(-6,-1)); //scripalert(str.slice(5,2)); //空字符串alert(str); //javascript
substring()
substring()也接受两个参数,分别表示其实位置和结束位置。substring在很多时候跟slice()返回的值是一样的。唯一不同的是参数值是负数的情况下,substring()会将负参数都转换为0。还有一点,substring()总是会将小的值当作起始位置,大的值当作结束位置。如:
var str="javascript";alert(str.substring(4,0)); //javaalert(str.substring(-5,-1)); //空字符串alert(str.substring(0,4)); //javaalert(str); //javascript
substr()
substr()也是用于返回子串。它也接受两个参数,第一个参数表示其实位置,第二个参数表示要返回的字符的个数。当遇上负参数时,substr()会将第一个负参数于字符串相加,第二个负参数则转换为0;当第一个参数大于第二个参数时也将返回空字符串。如:
var str="javascript";alert(str.substr(4,0)); //空字符串alert(str.substr(-6,-5)); //空字符串,相当于(4,0)alert(str.substr(-5,8)); //cript,相当于(5,8)alert(str.substr(5,-8)); //空字符串,相当于(5,0)alert(str.substr(0,4)); //javaalert(str); //javascript
字符串位置方法
用于查找子串位置的方法有两个,分别是indexOf()和lastIndexOf()。它们都有一个参数,即要查找的子串,然后返回该子串在字符串中的位置,如果没有找到,则返回-1。这两个方法的区别是,indexOf()方法是从字符串开头向后查找的,而lastIndexOf()方法是从字符串末尾向前查找的。如:
var str="javascript";alert(str.indexOf("a")); //1alert(str.lastIndexOf("a")); //3这两个方法还可以接受第二个参数,表示开始查找的位置。对于indexOf()方法,就是从这个位置开始向后查找,而对于lastIndexOf()方法,就是从该位置向前查找。如:
var str="javascript";alert(str.indexOf("a",2)); //3alert(str.lastIndexOf("a",2)); //1
trim()方法
trim()方法会创建一个字符串副本,删除字符串前后的所有空格,然后再将该副本返回。该方法也不会改变源字符串。如:
var str=" javascript ";alert(str.trim()); //javascript
字符串大小写转换方法
转换为小写字母的方法:toLowerCase()和toLocaleLowerCase();
转换为大写字母的方法:toUpperCase()和toLocaleUpperCase()。
这几个方法都没有参数。
var str="javaScript";alert(str.toLowerCase()); //javascriptalert(str.toLocaleLowerCase()); //javascriptalert(str.toUpperCase()); //JAVASCRIPTalert(str.toLocaleUpperCase()); //JAVASCRIPT
字符串的模式匹配方法
这些方法在之前的正则表达式中有介绍过,在这里就不做介绍了。具体参考【javascript正则表达式(RegExp类型)中的用于模式匹配的String方法】。
localeCompare方法
用于比较两个字符串。它们比较的是在字母表中的位置。如果字符串的位置应该在字符参数之前,则返回一个负数;如果两者的位置相同,则返回0;如果字符串的位置应该在字符参数之后,则返回一个正数。
var str="b";alert(str.localeCompare('a')); //1alert(str.localeCompare('b')); //0alert(str.localeCompare('c')); //-1
fromCharCode()方法
这是一个静态方法,接收一个或多个字符编码,然后将他们转换成一个字符串。
alert(String.fromCharCode(98)); //b
- javascript 基础-原始数据类型
- javascript 基础-原始数据类型
- javascript原始数据类型
- javascript的原始数据类型
- javascript 基础-原始数据类型
- JavaScript中的5中原始数据类型
- 原始数据类型
- JavaScript数据类型, null 和 undefined,原始数据类型,引用数据类型
- java原始数据类型介绍
- java原始数据类型案例
- Java的原始数据类型
- Java 原始数据类型转换
- 原始数据类型级别
- C语言原始数据类型
- primitive原始数据类型
- 数据类型---原始数据类型
- Java原始数据类型
- JS原始数据类型-String
- 虚拟机VMware Fusion 6 for mac安装Windows 7系统教程
- 基于栈判断括号是否匹配
- javascript传参字符串 与引号的嵌套调用
- C# winfrom软件的稳定性
- 学习笔记系列
- javascript原始数据类型
- 2月第二周香港五大顶级域名减38个 台湾增77个
- WinSock网络编程学习笔记(八):测试bind程序
- Android处理Bit图片的几个函数分享
- 理解HttpSession及应用
- LaTeX 入门引导
- SEH——Structured Exception Handling(结构化异常处理)
- TypeError: print_space() takes exactly 2 arguments (3 given)
- 规范竞争秩序 工信部将进一步完善互联网竞争和监管机制