专业网站建设套餐,wordpress博客列表显示不出来,天津网站建设诺亚,wordpress 淘宝 采集插件1.概念 数据类型指的是可以在程序中存储和操作的值的类型#xff0c;每种编程语言都有其支持的数据类型#xff0c;不同的数据类型用来存储不同的数据#xff0c;例如文本、数值、图像等。
JavaScript 是一种动态类型的语言#xff0c;在定义变量时不需要提前指定变量的类…1.概念 数据类型指的是可以在程序中存储和操作的值的类型每种编程语言都有其支持的数据类型不同的数据类型用来存储不同的数据例如文本、数值、图像等。
JavaScript 是一种动态类型的语言在定义变量时不需要提前指定变量的类型变量的类型是在程序运行过程中由 JavaScript 引擎动态决定的另外您可以使用同一个变量来存储不同类型的数据
例如
var a; // 此时 a 为 Undefined
a http://c.biancheng.net/; // 此时 a 为 String 类型
a 123; // 此时 a 为 Number 类型2.数据类型获取
typeof 操作符
在开始介绍各种数据类型之前先来了解一下 typeof 操作符使用 typeof 操作符可以返回变量的数据类型。
typeof 操作符有带括号和不带括号两种用法如下例所示
typeof x; // 获取变量 x 的数据类型
typeof(x); // 获取变量 x 的数据类型 3.基本数据类型 1) String 类型
字符串String类型是一段以单引号或双引号包裹起来的文本例如 ‘123’、“abc”。需要注意的是单引号和双引号是定义字符串的不同方式并不是字符串的一部分。
定义字符串时如果字符串中包含引号可以使用反斜杠 \ 来转义字符串中的引号或者选择与字符串中不同的引号来定义字符串如下例所示
var str Lets have a cup of coffee.; // 双引号中包含单引号
var str He said Hello and left.; // 单引号中包含双引号
var str We\ll never give up.; // 使用反斜杠转义字符串中的单引号 2Number 类型 数值Number类型用来定义数值JavaScript 中不区分整数和小数浮点数统一使用 Number 类型表示如下例所示
var num1 123; // 整数
var num2 3.14; // 浮点数 注意 Number 类型所能定义的数值并不是无限的JavaScript 中的 Number 类型只能表示 -(253 - 1) 到 (253 -1) 之间的数值。 对于一些极大或者极小的数也可以通过科学指数计数法来表示如下例所示 var y123e5; // 123 乘以 10 的 5 次方即 12300000
var z123e-5; // 123 乘以 10 的 -5 次方即 0.00123 说明
另外Number 类型中还有一些比较特殊的值类似宏定义分别为 Infinity、-Infinity 和 NaN其中 Infinity用来表示正无穷大的数值一般指大于 1.7976931348623157e308 的数 -Infinity用来表示负无穷大的数值一般指小于 5e-324 的数 NaN即非数值Not a Number 的缩写用来表示无效或未定义的数学运算结构例如 0 除以 0。 提示如果某次计算的结果超出了 JavaScript 中 Number 类型的取值范围那么这个数就会自动转化为无穷大正数为 Infinity负数为 -Infinity。 3Boolean 类型 布尔Boolean类型只有两个值true真或者 false假在做条件判断时使用的比较多您除了可以直接使用 true 或 false 来定义布尔类型的变量外还可以通过一些表达式来得到布尔类型的值例如
var a true; // 定义一个布尔值 true
var b false; // 定义一个布尔值 false
var c 2 1; // 表达式 2 1 成立其结果为“真true”所以 c 的值为布尔类型的 true
var d 2 1; // 表达式 2 1 不成立其结果为“假false”所以 c 的值为布尔类型的 false 4) Null 类型 Null 是一个只有一个值的特殊数据类型表示一个“空”值即不存在任何值什么都没有用来定义空对象指针。
使用 typeof 操作符来查看 Null 的类型会发现 Null 的类型为 Object说明 Null 其实使用属于 Object对象的一个特殊值。因此通过将变量赋值为 Null 我们可以创建一个空的对象。 5) Undefined 类型 Undefined 也是一个只有一个值的特殊数据类型表示未定义。当我们声明一个变量但未给变量赋值时这个变量的默认值就是 Undefined。例如
var num;
console.log(num); // 输出 undefined 在使用 typeof 操作符查看未赋值的变量类型时会发现它们的类型也是 undefined。对于未声明的变量使用 typeof 操作符查看其类型会发现未声明的变量也是 undefined示例代码如下
var message;
console.log(typeof message); // 输出 undefined
console.log(typeof name); // 输出 undefined6) Symbol 类型 Symbol 是 ECMAScript6 中引入的一种新的数据类型表示独一无二的值Symbol 类型的值需要使用 Symbol() 函数来生成如下例所示
var str 123;
var sym1 Symbol(str);
var sym2 Symbol(str);
console.log(sym1); // 输出 Symbol(123)
console.log(sym2); // 输出 Symbol(123)
console.log(sym1 sym2); // 输出 false 虽然 sym1 与 sym2 看起来是相同的但实际上它们并不一样根据 Symbol 类型的特点sym1 和 sym2 都是独一无二的 7 JS 引用数据类型
后续再说 4.数据类型转换 使用表单、prompt 获取过来的数据默认是字符串类型的此时就不能直接简单的进行加法运算而需要转换变量的数据类型。通俗来说就是把一种数据类型的变量转换成另外一种数据类型。
我们通常会实现3种方式的转换 转换为字符串类型转换为数字型转换为布尔型4.1 转字符串 但是注意
null和undefined这两个值没有toString()方法如果调用它们的方法会报错。
对于Number和Boolean实际上就是调用的toString()方法但是对于null和undefined就不会调用toString()方法它会将 null 直接转换为 “null”将 undefined 直接转换为 “undefined”
//1.把数字型转换为字符串型 toString() 变量.toString()
var num 10;
var str num.toString();
console.log(str);//2.强制转换
console.log(String(num));toString() 和 String() 使用方式不一样三种转换方式我们更喜欢用第三种加号拼接字符串转换方式这一方式也称为隐士转换4.2 转换为数字型
有三个函数可以把非数值转换为数值Number()、parseInt() 和parseFloat()。Number()可以用来转换任意类型的数据而后两者只能用于转换字符串。parseInt()只会将字符串转换为整数而parseFloat()可以将字符串转换为浮点数。 注意全部转换法 注意如果对非String使用parseInt()或parseFloat()它会先将其转换为String然后在操作
// 1.parseInt()
var age prompt(请输入您的年龄);
consolo.log(parseInt(age)); //数字型18
consolo.log(parseInt(3.14)); //3取整
consolo.log(parseInt(3.94)); //3,不会四舍五入
consolo.log(parseInt(120px)); //120,会去掉单位// 2.parseFloat()
console.log(parseFloat(3.14)); //3.14
consolo.log(parseFloat(120px)); //120,会去掉单位// 3.利用Number(变量)
var str 123;
console.log(Number(str));
console.log(Number(12)); // 4.利用了算术运算 - * / 隐式转换
console.log(12-0); // 12
console.log(123 - 120); //3
console.log(123 * 1); // 1234.3 转换为布尔型 代表空否定的值会被转换为false如 ’ ’ , 0, NaN , null , undefined 其余的值都会被被转换为true
console.log(Boolean()); //false
console.log(Boolean(0)); //false
console.log(Boolean(NaN)); //false
console.log(Boolean(null)); //false
console.log(Boolean(undefined)); //false
console.log(Boolean(小白)); //true
console.log(Boolean(12)); //true