typeof运算符和JavaScript的数据类型
一、typeof运算符
typeof运算符可以查询数据类型
其返回可能值有:undefined,boolean,number,string、object以及function.
查询方法:typeof(n) 或 typeof n;
返回任何数据类型的值都是字符串
二、JavaScript的数据类型(原始值)
1、字符串型数据String:字符串是存储字符的变量。
常量字符串:如 “JavaScript”,‘HTML5’
变量字符串:如:var text=“HTML5****”
可以使用"+“进行字符串的连接。
在 JavaScript 中,字符串使用单引号或者双引号来起始或者结束。那么如何输出单引号或者双引号呢?就要用到转义字符:换行符:\n、回车符:\r、退格符: \b、反斜杠: \
双引号: "
温馨提示:部分转义字符在输出为HTML文档流时不发生作用。
字符串对象的常用方法
charAt() 返回在指定位置的字符。
charCodeAt() 返回在指定的位置的字符的 Unicode 编码。(了解不常用)
concat() 连接字符串。
slice(n,m) 提取字符串n到m之间的片断(不包括m位置的字符串),并在新的字符串中返回被提取的部分。
substring() 提取字符串中两个指定的索引号之间的字符。大多数情况和上一个作用相同,当参数为负值时会有不同, substr(n,m) 从起始索引号提取字符串中指定数目的字符。
split() 把字符串分割为字符串数组。
indexOf() 检索字符串,返回某个指定的字符串值在字符串中首次出现的位置。注意,如果查找不到会返回 -1
lastIndexOf() 从后向前搜索字符串。
toLowerCase() 把字符串转换为小写。
toUpperCase() 把字符串转换为大写。
match() 找到一个或多个正则表达式的匹配。
该方法会返回一个数组,数组中包含了所有符合条件的文本。
replace() 替换与正则表达式匹配的子串,并返回替换后的字符串,注意原字符串不会改变
search() 检索与正则表达式相匹配的值。查找与参数模式相匹配的文本,并返回该文本的位置。若无则返回返回-1.与indexOf()相似。
需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串。
2、数值型数据Number
JavaScript 只有一种数字类型。数字可以带小数点,也可以不带。
极大或极小的数字可以通过科学(指数)计数法来书写:3e4
数值可以通过运算符进行计算。
浮点数值的最高精度是17位小数,但是在进行算术计算时其精度远远不如整数。例如,0.1加0.2的结果不是0.3, 而是0.30000000000000004。这个舍入误差会导致无法测试特定的浮点数值。(了解)
数字可以写成十进制、八进制、十六进制。
八进制在js中表示是第一位一定要是0,后面就是八进制字数序列(0~7)
十六进制字面量前两位必须是0x,后面跟十六进制数字(09及AF)。字母A~F不区分大小写。(了解)
温馨提示:科学(指数)计数法、八进制、十六进制表示的数字在输出时统统会转换成十进制。
3、布尔型数据Boolen
·布尔型数据boolen:只能有两个值:true(真) 或 false(假)。
表示类型,一般结合判断语句if和else一块使用
·将各种类型的值转化成Boolean类型的规则如下:
Number:任意非0的数值为true,0值和NaN为"false”。
String:所有的非空字符串转化为 true;""(空字符串)转化成false
Object的任何对象都会转化为 true;
在javascript中,只要逻辑表达式不返回undefined不返回null,就都是真的。
4、Undefined
·这是一个很有意思的数据类型,因为它的值只有一个,那就是undefined。
·在申明变量时如果没有将变量赋值的话这个变量也是属于Undefined类型的。。
·如果一个变量没有申明就直接去访问解释器会报错误信息,但是这样的变量如果使用typeof返回的结果也是"undefined"。
5、Null:空值
·Null也是一个只有一个值得数据类型,它的值就是null,任何变量只要给其赋值为null的话这个变量的数据类型就是Null类型。
·可以通过将变量的值设置为 null 来清空变量。
·null和undefined的区别:
null 已定义,并初始化为null;undefined:未定义,或者未初始化
推荐阅读
-
解决无法在unicode和非unicode字符串数据类型之间转换的方法详解
-
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
-
JavaScript Math对象和调试程序的方法分析
-
Java的基本数据类型和运算方法(必看篇)
-
浅谈JavaScript中的apply/call/bind和this的使用
-
javascript 删除数组元素和清空数组的简单方法
-
常见的JavaScript框架和库解析
-
php开发框架有哪些(javascript和java的区别)
-
C# double和decimal数据类型以截断的方式保留指定的小数位数
-
C#中38个常用运算符的优先级的划分和理解