实战JavaScript+JQuery实现网页交互 2 运算符 2.4 运算符 赋值运算符用于给 JavaScript 变量赋值。表中是x=10和y=5的赋值运算。 (1)赋值运算符 算术运算符对数值(文字或变量)执行算术运算,表中是y=5的算术运算。 (2)算术运算符 关系运算符执行比较运算,运算符在逻辑语句中使用,以测定变量或值是否相等。每个关系运算符都返回一个布尔值。表中是x=5比较运算解释。 (3)关系运算符 运算符 逻辑运算符用于测定变量或值之间的逻辑。表中是x=6,y=3的逻辑运算解释。 (4)逻辑运算符 JS中,位运算符处理32位有符号数,该运算中的任何数值运算数都会被转换为32位的数。结果会被转换回JS数值。 (5)位运算符 位运算符 用逗号运算符可以在一条语句中执行多个运算。逗号运算符常用变量声明中。+运算符用于把文本值或字符串变量连接起来。 (6)逗号运算符和字符串运算符 var iNum1 = 1, iNum = 2, iNum3 = 3; 三目运算符,也称为条件运算符,是JS中功能最多的运算符,形式与Java中的相同。可分为赋值和判断两个功能。。 (7)三目运算符(条件运算符) var a = 1, b = 2; var c = b > 1 ? a++ : 0; console.log(c) // 1,如果使用++a,那么就返回2 赋值:该表达式主要是根据expression的计算结果有条件地为变量赋值。如果expression为 true,就把value1赋给变量;如果它是false,就把value2赋给变量。 variable = boolean_expression ? true_value : false_value; 判断:三目运算符用作判断时,基本语法为: expression ? sentence1 : sentence2 55 2.5 类型转换 各数据类型的转换,多数可以实现自动转换。也可以执行显式转换,增加代码的可读性。 2.5.1 显示类型转换 var a = 1; //a的类型为数字 a = "abc"; //这里a的类型自动转换为字符型了 var a = Number("3"); //字符串,显式转换为数字型 var s = String(false); //布尔值,显式转换为字符串 var b = Boolean([]); //显式转换为布尔值,true var b = Boolean(); //显式转换为布尔值,false
2.5.1 显示类型转换 (1)转换为数值 (2)转换为字符串 Number("3.14"); //返回 3.14 Number(""); // 返回 0 Number("99 88"); // 返回 NaN String(x); // 将变量 x 转换为字符串并返回 String(123); // 将数字 123 转换为字符串并返回 String(100+23); // 将数字表达式转换为字符串并返回 (123).toString(); (100+23).toString(); 全局方法Number()可以将字符串转换为数字。字符串包含数字(如 "3.14") 转换为数字(如 3.14),空字符串转换为0。其他的字符串会转换为 NaN (不是数字)。 全局方法String()可以将数字转换为字符串。该方法可用于任何类型的数字,字母,变量,表达式。
(3)转换为布尔值 (4)类型转换示例 String(false); // 返回 "false" String(true); // 返回 "true" false.toString(); // 返回 "false" true.toString(); // 返回 "true" console.log(Number("123")); //字符串转数字 console.log(String(false)); //布尔值转字符串 var b = Boolean("false"); console.log(b); //字符串转布尔值 var n = 10; console.log(n.toString()); //数字转字符串 console.log(n.toString(2)); //数字转二进制字符串 方法String()可以将布尔值转换为字符串。方法toString()也有相同的效果。 当要转换的值是至少有一个字符的字符串、非0数字或对象时,Boolean()函数将返回true。如果该值是空字符串、数字 0、undefined 或 null,它将返回false。
在JS中,当运算符执行运算时,如果两边数据不统一,CPU就无法计算,这时编译器会自动将运算符两边的数据做一个数据类型转换,转成一样的数据类型,然后计算。 (1)隐式转换 var a = 1; a+""; //此表达式就会转换为字符串 var y ="5"; // y 是一个字符串 var x = + y; // x 是一个数字 console.log(x); //输出5,如果不能转换,例如y=”5a”,它仍然是一个数字,但值为 NaN 在默认模式中,无论最初采用什么表示法声明数字,Number 类型的 toString() 方法返回的都是数字的十进制表示。 (2)隐式转换规则 l 转成string类型: +(字符串连接符) l 转成number类型:++、--(自增自减运算符),+ - * / %(算术运算符), > < >= <= ==、!=、 ===、!=== (关系运算符) l 转成boolean类型:!(逻辑非运算符) var iNum = 10; console.log(iNum.toString(2)); //输出 "1010" console.log(iNum.toString(8)); //输出 "12" console.log(iNum.toString(16)); //输出 "A“ var iNum1 = parseInt("010"); //返回 8 var iNum2 = parseInt("010", 8); //返回 8 var iNum3 = parseInt("010", 10); //返回 10 60
|