当前位置:网站首页>17. JS conditional statements and loops, and data type conversion
17. JS conditional statements and loops, and data type conversion
2022-08-02 03:55:00 【Little Aning's cat】
只有用心灵才能看得清事物本质,真正重要的东西是肉眼无法看见的.——《小王子》
JS条件语句和循环, 数据类型转换
1.条件语句
(1) if 语句
只有当指定条件为 true 时,使用该语句来执行代码
if (condition){
当条件为 true 时执行的代码
}
(2) if…else 语句
当条件为 true 时执行代码,当条件为 false 时执行其他代码
if (condition){
当条件为 true 时执行的代码
}else{
当条件不为 true 时执行的代码
}
if…else if…else 语句-
使用该语句来选择多个代码块之一来执行
(3) switch 语句
使用该语句来选择多个代码块之一来执行
首先设置表达式 n(通常是一个变量).随后表达式的值会与结构中的每个 case 的值做比较.如果存在匹配,则与该 case 关联的代码块会被执行.请使用 break 来阻止代码自动地向下一个 case 运行.
switch(n){
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
与 case 1 和 case 2 不同时执行的代码
}
(4)default 关键词来规定匹配不存在时做的事情
2.for循环
(1)for循环
for (var i=0;i<cars.length;i++)
{
document.write(cars[i] + "<br>");
}
//Output a bunch of array values
usually use the statement 1 初始化循环中所用的变量 (var i=0).
通常语句 2 用于评估初始变量的条件.
通常语句 3 会增加初始变量的值.
(2) for/in 语句
用于遍历对象的属性
var person={
fname:"Bill",lname:"Gates",age:56};
for (x in person) {
// x 为属性名
txt=txt + person[x];
}
3.while循环
(1)while循环
在指定条件为真时循环执行代码块.
while (条件){
需要执行的代码
}
(2)do/while 循环
该循环会在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环.该循环至少会执行一次,即使条件为 false 它也会执行一次
do{
需要执行的代码
}
while (条件);
4.break 和 continue 语句
(1)break
break 语句跳出循环后,会继续执行该循环之后的代码:
for (i=0;i<10;i++){
if (i==3) {
break;
}
x=x + "The number is " + i + "<br>";}
(2)continue
continue statement interrupts the iteration in the current loop,Then continue the loop for the next iteration. The following examples are in value 3 时,直接跳过:
for (i=0;i<=10;i++)
{
if (i==3) continue;
x=x + "The number is " + i + "<br>";
}
4.JS类型转换
在 JS 中有 6 种不同的数据类型:
string、number、boolean、object、function、symbol
3 种对象类型:Object、Date、Array
2 个不包含任何值的数据类型:null、undefined
Number() 转换为数字, String() 转换为字符串, Boolean() 转换为布尔值.
5.typeof操作符
用于 查看 JS变量的数据类型
typeof "John" // 返回 string
typeof 3.14 // 返回 number
typeof NaN // 返回 number
typeof false // 返回 boolean
typeof [1,2,3,4] // 返回 object
typeof {
name:'John', age:34} // 返回 object
typeof new Date() // 返回 object
typeof function () {
} // 返回 function
typeof myCar // 返回 undefined (如果 myCar 没有声明)
typeof null // 返回 object
6.constructor 属性
constructor 属性返回所有 JavaScript 变量的构造函数.
"John".constructor // 返回函数 String() { [native code] }
(3.14).constructor // 返回函数 Number() { [native code] }
false.constructor // 返回函数 Boolean() { [native code] }
[1,2,3,4].constructor // 返回函数 Array() { [native code] }
{
name:'John', age:34}.constructor // 返回函数 Object() { [native code] }
new Date().constructor // 返回函数 Date() { [native code] }
function () {
}.constructor // 返回函数 Function(){ [native code] }
比如:
//使用 constructor 属性来查看对象是否为数组 (包含字符串 "Array"):
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array")> -1;
}
//使用 constructor 属性来查看对象是否为日期 (包含字符串 "Date"):
function isDate(myDate) {
return myDate.constructor.toString().indexOf("Date") > -1;
}
7.不同类型间的转换
(1)全局方法 String()
该方法可用于任何类型的数字,字母,变量,表达式:
比如:
String(x) // 将变量 x 转换为字符串并返回
String(123) // 将数字 123 转换为字符串并返回
String(100 + 23) // 将数字表达式转换为字符串并返回
String(false) // 返回 "false"
String(true) // 返回 "true"
false.toString() // 返回 "false"
true.toString() // 返回 "true"
(2)Date()
itself returns a string
Date()
// 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
String(new Date())
// 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
obj = new Date()
obj.toString()
// 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
(3) Number()
可以将字符串, 布尔值, 日期转换为数字.
字符串包含数字(如 “3.14”) 转换为数字 (如 3.14)
空字符串转换为 0.
其他的字符串会转换为 NaN (不是个数字).
Number("3.14") // 返回 3.14
Number(" ") // 返回 0
Number("") // 返回 0
Number("99 88") // 返回 NaN
Number(false) // 返回 0
Number(true) // 返回 1
d = new Date();
Number(d) // 返回 1404568027739
d = new Date();
d.getTime() // 返回 1404568027739
(4) toString()
document.getElementById("demo").innerHTML = myVar;
myVar = {
name:"Fjohn"} // toString 转换为 "[object Object]"
myVar = [1,2,3,4] // toString 转换为 "1,2,3,4"
myVar = new Date()
// toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"
myVar = 123 // toString 转换为 "123"
myVar = true // toString 转换为 "true"
myVar = false // toString 转换为 "false"










边栏推荐
猜你喜欢
随机推荐
IO streams, byte stream and byte stream buffer
阿里云设置域名解析重定向后,无法使用Chrome访问
PHP8.2中字符串变量解析的新用法
ES6三点运算符、数组方法、字符串扩展方法
js 中this指向
4.表单与输入
12. What is JS
IO stream, encoding table, character stream, character buffer stream
1.13 学习JS
点名系统和数组元素为对象的排序求最大值和最小值
2.PHP变量、输出、EOF、条件语句
16. JS events, string and operator
AES加密的各种蛋疼方式方式
每日五道面试题总结 22/7/26
vue3 访问数据库中的数据
PHP 发起支付宝支付时 订单信息乱码解决
每日五道面试题总结 22/7/20
批量替换文件字体,简体-&gt;繁体
easyswoole 使用redis执行geoRadiusByMember Count无效修复
hackmyvm-hopper walkthrough



![[league/climate]一个功能健全的命令行功能操作库](/img/ce/39114b1c74af649223db97e5b0e29c.png)





