笔记参考javascript.info中文站
浏览器环境下的交互
1. alert
前面的笔记中已经出现过这个函数,它会显示一条信息,并等待用户按下 “确认”,弹出的这个带有信息的小窗口被称为 ”模态窗“ ,在用户处理完这个 “modal” 前,他们无法与其他部分交互,举个例子:
alert("Hello"); // 不回应别人打招呼是很不礼貌的行为
2. prompt
prompt 函数接收两个参数:prompt(title, [default]),其中带中括号的default参数可选, prompt 函数可以显示一个 input 框,让用户输入数据,随后将输入的内容赋值给对应变量。
title
是显示给用户看的文本
default
是指定 input 框的初始值。
举个例子:
let age = prompt('How old are you?', 100);
alert(`You are ${
age} years old!`); // You are 100 years old!
当用户取消输入,或者按ESC取消输入时,返回 null 值
当我们没有设置第二个参数 default
时,现代浏览器会默认赋值 undefined
,但是在使用IE时请注意,IE没有这个功能
3. confirm
正如其名:确认
confirm 函数有一个参数(字符串形式),调用函数时会在模态窗中显示该参数的内容,用户点击 “确认” 对应变量则赋值 true
,选择 “取消” 则赋值 false
。
举个例子:
let isBoss = confirm("Are you the boss?");
alert( isBoss ); // 如果“确定”按钮被按下,则显示 true
confirm 函数的参数一般是一个 Question,让用户去 confirm
类型转换
大多数情况下,运算符和函数会自动将赋予它们的值转换为正确的类型,例如 alert 函数会将参数转化成字符串类型。
但有些情况下我们需要手动显式转换类型:
1. 字符串转换
let value = true;// 声明一个布尔变量,赋值为真
alert(typeof value); // boolean
value = String(value); // 现在,值是一个字符串形式的 "true"
alert(typeof value); // string
2. 数字型转换
let str0 = "123";// 声明一个字符串,赋值为“123”
let str1 = "balabala"// 声明一个字符串,赋值为"balabala"
alert(typeof str0); // string
alert(typeof str1); // string
let num0 = Number(str0); // 变成 number 类型 值为123
alert(typeof num0); // number
alert(num0);// 123