当前位置:网站首页>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"
边栏推荐
猜你喜欢
随机推荐
攻防世界—MISC 新手区1-12
1.10今日学习
Function hoisting and variable hoisting
微信小程序云开发之模糊搜索
(8) requests、os、sys、re、_thread
13.JS输出内容和语法
[league/climate]一个功能健全的命令行功能操作库
The Error in the render: "TypeError: always read the properties of null '0' (reading)" Error solution
简单黑马头条项目
[mikehaertl/php-shellcommand]一个用于调用外部命令操作的库
js scope and closure
4. The form with the input
(3) Thinkphp6 database
---static page---
display,visibility,opacity
(3)Thinkphp6数据库
稳定好用的短连接生成平台,支持API批量生成
What will be new in PHP8.2?
v-bind用法:类动态绑定对象 数组 style样式 及函数方法
Batch replace file fonts, Simplified -> Traditional