数据类型转换:
- 转布尔型:(1) 实现语法:Boolean()函数。
(2)注意事项:Boolean()函数会将任何非空字符串和非零的数值转换为true,将空字符串、0、NaN、undefined和null转换为false。
var con = prompt();
if (Boolean(con)) {
document.write('已输入内容');
} else {
document.write('无输入内容');
}
- 转数值型:
实现语法:Number()函数、parseInt()函数或parseFloat()函数。
// 获取用户的输入,完成自动求和
var num1 = prompt('请输入求和的第1个数据:');
var num2 = prompt('请输入求和的第2个数据:');
console.log(num1 + num2);
console.log(parseInt(num1) +
parseInt(num2));
- 所有函数在转换纯数字时会忽略前导零,如“0123”字符串会被转换为123。
- parseFloat()函数会将数据转换为浮点数(可以理解为小数)。
- parseInt()函数会直接省略小数部分,返回数据的整数部分,并可通过第2个参数设置转换的进制数。
- 在实际开发中还需要对转换后的结果是否是NaN进行判断,只有不是NaN时,才能够进行运算。此时可使用isNaN()函数来确定,当给定值为undefined、NaN和{}(对象)时返回true,否则返回false。
- 转字符型:
(1)实现语法:String()函数和toString()方法。
(2)实现方式的区别: String()函数可以将任意类型转换为字符型;除了null和undefined没有toString()方法外,其他数据类型都可以完成字符的转换。
var num1 = num2 = num3 = 4, num4 = 26;
console.log(String(12));
console.log(num1 + num2 +
num3.toString());
console.log(num4.toString(2));
- toString()方法在进行数据类型转换时,可通过参数设置,将数值转换为指定进制的字符串,例如num4.toString(2),表示首先将十进制26转为二进制11010,然后再转为字符型数据。
表达式
1、概念:表达式可以是各种类型的数据、变量和运算符的集合。
2、最简单的表达式可以是一个变量。
var x, y, z; // 声明变量
x = 1; // 将表达式“1”的值赋给变量x
y = 2 + 3; // 将表达式“2 + 3”的值赋给变量y
z = y = x; // 将表达式“y = x”的值赋给变量z
console.log(z); // 将表达式“z”的值作为参数传给console.log()方法
console.log(x + y); // 将表达式“x + y”的值作为参数传给console.log()方法
运算符
算术运算符
1、对数值类型的变量及常量进行算数运算。
2、也是最简单和最常用的运算符号。
- 四则混合运算,遵循 “先乘除后加减”的原则。
- 取模运算结果的正负取决于被模数(%左边的数)的符号。
- 尽量避免利用小数进行运算,有时可能因JavaScript的精度导致结果的偏差。
- “+”和“-”在算术运算时还可以表示正数或负数。
- 运算符(++或–)放在操作数前面,先进行自增或自减运算,再进行其他运算。若运算符放在操作数后面,则先进行其他运算,再进行自增或自减运算。
- 递增和递减运算符仅对数值型和布尔型数据操作,会将布尔值true当做1,false当做0。
字符串运算符
JavaScript中,“+”操作的两个数据中只要有一个是字符型,则“+”就表示字符串运算符,用于返回两个数据拼接后的字符串。
var color = 'blue';
var str = 'The sky is '+color;
var tel = 110 + '120';
console.log(str); // 输出结果为:The sky is blue
console.log(tel); // 输出结果为:110120
console.log(typeof str, typeof tel); // 输出结果:string string
- 利用字符串运算符“+”的特性,可以将布尔型、整型、浮点型或为null的数据,与空字符串进行拼接,就会完成字符型的自动转换。
赋值运算符
1、是一个二元运算符,即它有两个操作数。
2、它将运算符右边的值赋给左边的变量。
- “=”是赋值运算符,而非数学意义上的相等的关系。
- 一条赋值语句可以对多个变量进行赋值。
- 赋值运算符的结合性为“从右向左”。
var a = b = c = 8;
var num1 = 2;
num1 += 3; //等价于:num1 = num1 + 3;
var num2 = '2';
num2 += 3; //等价于:num2 = num2 + 3;
比较运算符
1、用来对两个数值或变量进行比较。
2、其结果是布尔类型的true或false。
- 不相同类型的数据进行比较时,首先会自动将其转换成相同类型的数据后再进行比较。
- 运算符“==”和“!=”运算符在比较时,只比较值是否相等。
- 运算符“= = =”与“!==”要比较数值和其数据类型是否相等
逻辑运算符
1、是在程序开发中用于逻辑判断的符号。
2、其返回值类型是布尔类型。
- 逻辑运算符的结合性是从左到右。
- 当使用“&&”连接两个表达式时,如果左边表达式的值为false,则右边的表达式不会执行,逻辑运算结果为false。(短路)
- 当使用“||”连接两个表达式时,如果左边表达式的值为true,则右边的表达式不会执行,逻辑运算结果为true。(短路)
- 逻辑运算符可针对结果为布尔值的表达式进行运算。
三元运算符
条件表达式 ? 表达式1 : 表达式2
- 先求条件表达式的值。
- 如果为true,则返回表达式1的执行结果。
- 如果条件表达式的值为false,则返回表达式2的执行结果。
位运算符
1、是针对二进制数的每一位进行运算的符号。
2、它专门针对数字0和1进行操作。
- JavaScript中位运算符仅能对数值型的数据进行运算。在对数字进行位运算之前,程序会将所有的操作数转换成二进制数,然后再逐位运算。