一、类型转换
1、数值类型转换
转换为数值类型的方式有三种:Number()函数、parseInt()函数和parseFloat()函数。
(1)Number函数可以将其它类型都转为数值,布尔值true和false转为1和0,如果是数字类型,返回本身,具体用法实例如下:
var number = 8;
var value_null = null;
var value_undefined = undefined;
var value_str_number = "18";
var value_str_float = "3.14";
var value_str_null = "";
var value_str_other = "spring";
var object = {};
console.log(Number(number)); // 数字类型返回数字本身
console.log(Number(value_null)); // null值返回0
console.log(Number(value_undefined)); // undefined类型返回NaN
console.log(Number(value_str_number)); // 数字字符串返回数字
console.log(Number(value_str_float)); // 浮点数字符串返回浮点数
console.log(Number(value_str_null)); // 空字符串返回0
console.log(Number(value_str_other)); // 其它情况返回NaN
console.log(Number(object)); // 引用类型返回NaN
(2)parseInt()函数将字符串转为整数类型的数值,parseFloat()函数将字符串转为浮点类型的数值,转换忽略前面的空字符,如果不是数字字符那么返回NaN,以0x开头作十六进制处理,例子如下:
var str_int = "1314";
var str_float = "3.14";
console.log(parseInt(str_int)); // => 1314
console.log(parseFloat(str_float)); // => 3.14
2、字符串类型转换
其它类型转换为字符串类型使用String()函数,另外还有toString()方法,同样可以使用+””直接转为字符串,实例如下:
console.log(String(12)); // => "12"
console.log(12+""); // => "12"
console.log(String(undefined)); // => "undefined"
console.log(String(null)); // => "null"
console.log(String(NaN)); // => "NaN"
var value_number = 123456;
console.log(value_number.toString()); // => "123456"
3、布尔类型转换
其它类型转为布尔类型使用Boolean()函数,其中false,””,0,NaN,null,undefined都会被转为false,其它值都会被转为true,用法如下:
console.log(Boolean(false)); // => false
console.log(Boolean("")); // => false
console.log(Boolean(0)); // => false
console.log(Boolean(null)); // => false
console.log(Boolean(undefined)); // => false
console.log(Boolean(17)); // => true
console.log(Boolean(1.7)); // => true
console.log(Boolean("spring")); // => true
4、隐式类型转换
隐式类型转换是自动进行的,当进行类型不匹配的操作JavaScritp引擎会自动强制进行类型转换,例如:
var value_type = "spring01";
var type_01 = +value_type; // 强制转为字符串类型,输出NaN
var type_02 = !!value_type; // 强制转为boolean类型,输出true
var type_03 = value_type + 9; // 进行字符串拼接,输出spring019
console.log(type_01);
console.log(type_02);
console.log(type_03);
二、语句语法详解
JavaScript程序主要是由语句组成,掌握各种语句才能更好完成各种业务需求。JavaScript的基本语句有一般表达式语句,如var number是声明语句,如var a = 12,这是常用的赋值语句,另外还有语句块,使用大括号{}括起来,将多条语句组合起来,另外还有函数声明语句,后续讲到函数再进行详细讨论。
1、if-else条件分支语句
If-else条件语句的语法为:
/**
* if条件分支语句的语法格式为:
* if(表达式1){
* 语句1;
* }
* else if(表达式2){
* 语句2;
* }
* else{
* 语句3;
* }
* 表达式1和表达式2的计算结果为boolean类型的值true或false
* 意思是:如果表达式1为true,则执行语句1,
* 否则继续判断表达式2,为真则执行语句2,
* 否则执行语句3
*/
If语句块里面可以嵌套多层if语句,或其它语句,if-else语句的编写实例如下:
var isRead = false;
if(isRead)
console.log("Read");
else
console.log("Not Read");
var cout = 90;
if(cout == 70)
console.log("level 1");
else if(cout == 80)
console.log("level 2");
else
console.log("level 3");
2、while循环语句
While循环语句的语法如下:
/**
* while(表达式1){
* 语句1;
* }
* 意思是:当表达式1为真时,循环执行语句1
*/
下面使用while循环计算1+3+5+…+99:
// 1+3+5+...+99
var sum = 0;
var i = 1;
while(i < 100){
if(i % 2 != 0)
sum = sum + i;
i++;
}
console.log(sum); // => 2500
除了while还有另一形式:do while循环语句,使用较少,语法如下:
/**
* do{
* 语句1;
* }
* while(表达式1)
* 意思是:首先执行语句1,再对表达式1进行判断,
* 若为真,则循环执行语句1,否则跳出循环
*/
3、for循环语句
For循环语句在开发中经常使用,它的语法如下:
/**
* for(初始化语句;判断语句;循环结束语句){
* 语句1;
* }
* 意思是:首先执行初始化语句,例如在for循环内部会用到的变量,仅执行一次
* 然后执行判断语句,若为真则执行for内部的语句1
* 执行完语句1,执行循环结束语句
* 然后再次执行判断语句,依次循环,若判断语句返回false则跳出循环
*/
下面使用for循环语句计算2+4+6+8+…+100:
// 计算2+4+6+...+100
var sum = 0;
for(var i = 1;i <= 100;i++){
if(i % 2 == 0)
sum = sum + i;
}
console.log(sum); // => 2550
4、continue和break跳转语句
continue和break一般用于处理while或for循环语句,执行continue语句表示跳出本次循环,继续执行下一次循环,而break则是直接跳出循环体,不再执行循环,例如:
var languages = ["javascrpt", "python", "golang", "clang"];
// 输出除clang的其它语言
for(var i = 0;i < languages.length;i++){
if(languages[i] == "clang")
continue;
console.log(languages[i]);
}
console.log("=========");
// 若languages中有python语言则跳出循环体
for(var i = 0;i < languages.length;i++){
if(languages[i] == "python")
break;
console.log(languages[i]);
}
5、switch case条件选择语句
Switch语句是一种多条件选择的语句,语法如下:
/**
* switch(变量1){
* case 值1:
* 语句1;
* break;
*
* case 值2:
* 语句2;
* break;
*
* default:
* 语句3;
* }
* 意思是:根据变量1的值,如果变量1等于值1,则执行语句1,跳出switch语句块
* 若变量1等于值2,执行语句2,跳出switch语句块
* 否则默认执行语句3,跳出switch语句块
* 注意:要使用break跳出,否则会执行完所有的语句才跳出
*/
Switch case语句实例如下:
var day = 1;
var day_str;
switch (day) {
case 1:
day_str = "Sunday";
break;
case 2:
day_str = "Monday";
break;
default:
day_str = "Saturday"
break;
}
console.log(day_str);
评论前必须登录!
注册