- 变量
1.1 变量定义的方式
①、声明变量,并赋值
// 变量的声明并赋值
// var 变量名 = 变量值
var age = 23;
// 变量内部值的更改,一最后一次更改为准
age = 18;
// 同时声明多个变量
var age, name, sex; // 等价于 var age; var name; vae sex;
age = 10;
name = 'zjs';
sex = 2;
// 同时声明多个变量并赋值
var age = 10, name = 'zs',sex = 2;
- 数据类型
// 数据类型简介
// JavaScript是弱数据类型,变量是没有固定数据类型的, 总之,你给变量一个什么值,它就是什么数据类型的变量。
/*
字面量
数值字面量:8, 9, 10
字符串字面量:'黑马程序员', "大前端"
布尔字面量:true,false
*/
// 简单数据类型
简单数据类型
JavaScript 中的数据类型 分两类:简单数据类型 和 复杂数据类型,我们今天讲 常用的简单数据类型
简单数据类型 | 说明 | 默认值 |
---|---|---|
Number | 数值类型,包含 整型值和浮点型值,如 21、0.21 | 0 |
Boolean | 布尔值类型,如 true 、false,等价于 1 和 0 | false |
String | 字符串类型,如 “张三” 注意咱们js 里面,字符串都带引号 | “” |
Undefined | var a; 声明了变量a 但是没有给值,此时 a = undefined | undefined |
- Number 数值类型
// JavaScript中 数值的最大和最小值
// - 最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
// - 最小值:Number.MIN_VALUE,这个值为:5e-324
// isNaN(x) 方法 用来判断一个变量是否为 (非数值)的类型
isNAN(str) | 结果 |
---|---|
X是数值 | false |
X不是数值 | true |
- Boolean 布尔类型
- 布尔类型有两个值:true 和 false
- String 字符串类型
用于表示 文本数据 ,语法为 双引号 “” 和 单引号’’
var strMsg = '我是"高帅富"程序猿'; // 可以用 '' 包含 ""
var strMsg2 = "我是'高帅富'程序猿"; // 也可以用 "" 包含 ''
// 常见错误
var badQuotes = 'What on earth?"; // *报错*,不能 单双引号搭配
- 字符串的长度
字符串是若干 字符 组成的 串,这些 字符的数量 就是 字符串的长度。 我 是 字 符 组 合 而 成 的 !
字符串的 length 属性可以获取 整个字符串 的长度
var strMsg = "我是帅气多金的程序猿!--- 恩,我看出了你的自信。";
alert(strMsg.length); // 显示 26
- 字符串的拼接
多个字符串之间可以使用 +号 进行拼接
注意: 区分 字符串拼接 与 数值运算
- 字符串 + 任何类型 = 拼接之后的新字符串
拼接前 会把 与字符串 相加的 任何类型 转成 字符串,再拼接成一个新的字符串
/1.1 字符串 "相加"
alert('hello' + ' ' + 'world'); // hello world
//1.2 数值字符串 "相加"
alert('100' + '100'); // 100100
//1.3 数值字符串 + 数值
alert('11' + 12); // 1112
- Undefined 未定义类型
一个声明后没有被赋值的变量会有个默认值 undefined。
var usrName; // 声明变量后没有直接赋值,此时它的默认值就是 undefined
alert(usrName); // 显示 undefined
- 获取检测变量的数据类型
- typeof 可用来获取检测变量的数据类型
- 语法:
var num = 3747;
var isNum = typeof num; // 也可以 写成 typeof(num)
alert(isNum); // "number"
类型 | 例 | 结果 |
---|---|---|
String | typeof"张金山" | “string” |
Number | typeof 1995 | “number” |
Boolean | typeof true | “boolean” |
Undefined | typeof undefined | "undefined " |
-
简单数据类型小结
-
Number :JS中的数值类型变量 可以保存 整型数值 和 浮点型数值
-
isNaN()
-
String :字符串用 `` 和 “” 都可以,但前端开发统一规范使用 单引号 var usrName =‘字符串值’
-
多个字符串可以用 + 号相拼接
-
length属性获取字符串长度
-
转义符
-
Boolean:布尔值 用 true 和 false
-
Undefined:声明后未赋值的变量的默认值
-
可用 typeof 获取 数据类型
-
数据类型转换
-我们表单 prompt 获取过来的数据默认是字符型的,此时就不能直接简单的 进行 加法运算。 此时需要转换
-通过调用系统函数进行类型转换,主要分3类:转 字符串、转 数值、转 布尔值 -
转换为字符串
方式 | 说明 | 案例 |
---|---|---|
toString() | 把变量转成字符串 | var num= 1; alert(num.toString()); |
String() 强制转换 | 把特殊值转成字符串 | String(undefined); |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | var str = 215 + “我是字符串”; |
-
toString() 方法(知晓)
toString() 方法可把一个逻辑值转换为字符串,并返回结果
布尔类型的 toString() 只会输出 “true” 和 “false”
var isFound = false;
alert(isFound.toString()); // 输出"false"
var num01 = 27; // alert(num01)输出"27"
var num02 = 27.37; // alert(num02)输出"27.37"
console.log(num01.toString())
-
String() 方法(简单了解)
String()函数存在的意义:有些值没有toString(),这个时候可以使用String()。
var timer = null;
console.log(String(timer));
-
加号拼接字符串(重点掌握)
当 + 两边 一个是
字符串类型
,另一个是其它类型
的时候,会先把其它类型
转换成字符串
再进行字符串拼接,最后返回字符串alert(21 + "小白"); // 输出"21小白" alert(false + "小白"); // 输出"false小白"
提问: alert(167 + “90”) 输出的是什么呢?
总结
方式 | 说明 | 案例 |
---|---|---|
toString() | 把变量转成字符串 | var num= 1; alert(num.toString()); |
String() 强制转换 | 把特殊值转成字符串 | String(undefined); |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | var str = 215 + “我是字符串”; |
-toString() 方法可把一个逻辑值转换为字符串,并返回结果
布尔类型的 toString() 只会输出 “true” 和 “false”
var isFound = false;
alert(isFound.toString()); // 输出"false"
var num01 = 27; // alert(num01)输出"27"
var num02 = 27.37; // alert(num02)输出"27.37"
console.log(num01.toString())
-String()函数存在的意义:有些值没有toString(),这个时候可以使用String()
var timer = null;
console.log(String(timer));
加号拼接字符串(重点掌握)
-当 + 两边 一个是 字符串类型,另一个是 其它类型 的时候,会先把 其它类型 转换成 字符串 再进行字符串拼接,最后返回字符串
alert(21 + "小白"); // 输出"21小白"
alert(false + "小白"); // 输出"false小白"
- 转换为数值
-表单获取过来的数据默认是字符型,我们需要转换为数值型
方式 | 说明 | 案例 |
---|---|---|
parseInt(string) 函数 | 将string类型参数转成整数 | parseInt(‘78’) |
parseFloat(string) 函数 | 将string类型参数转成浮点数 | parseFloat(‘78.21’) |
Number() 强制转换函数 | ||
js 隐式转换 | 利用算术运算隐式转换 | - * / |
- parseInt(string) 函数
概念: 将 数值字符串 转成 整数数值
var numAge = parseInt("912"); // 912
//规则1.永远记住它是取整函数
var numLove = parseInt(18.08); // 18
var numLove = parseInt(18.88); // 18
//规则2.如果第一个字符不是数字符号或者负号,返回NaN
var numLove = parseInt("aboard211"); // NaN
//规则3.如果第一个字符是数字,则继续解析直至字符串解析完毕 或者 遇到一个非数字符号为止
var numLove = parseInt("520littlecat"); // 520
parseFloat(string)函数 猩猩
概念: 将 浮点数值字符串 转成 浮点数值
var num = parseFloat("12.3abc"); // 12.3
注意:parseFloat函数如果用来转换 整型数值字符串,则也是返回 整型数值
var num = parseFloat("12"); // 12,而不是 12.0
-
Number() 强制转换函数
- 里面如果只要出现非数字字符或者undefined, 则就返回 NaN
- 如果该值是空字符串、数字0、或null、false 则返回 0 如果是 true 则返回 1
-
利用js隐式转换
利用了js的弱类型的特点,进行算术运算,实现了字符串到数字的类型转换,我们也成为隐式转换。
var str= '123 ';
var x = str-0;
var x = x*1;
总结
以上4种方法,我们用的最多的是 parseInt() 和 parseFloat ();
prompt(info) 获取输入
- 消息输入窗:在 JS 中可以使用浏览器提供的
prompt
函数从键盘接收用户的输入- 括号中的参数 info 是用来显示在输入窗给用户看的提示信息
- 用户输入的 任何内容 都是一个 字符串
- 语法如下:
var usrMsg = prompt();
var usrName = prompt('请输入您的名字'); //会在输入窗显示给用户看的提示信息
alert(usrName); // 打印用户名字
// 在浏览器控制台 显示 欢迎消息
alert("欢迎使用 加法计算 !");
// 获取 用户输入 的 第一个数
var num01 = prompt("请输入第一个数:"); // 注意:prompt 获取的用户输入都是字符串类型
num01 = parseFloat(num01); // 将 用户输入的数值字符串 转成 数值类型
// 获取 用户输入 的 第二个数
var num02 = prompt("请输入第二个数:");
num02 = parseFloat(num02); // 将 用户输入的数值字符串 转成 数值类型
// 计算两数之和
var sNum = num01 + num02;
// 按照 1 + 1 = 3 的格式 显示
alert('最后的结果是'+ sNum); // 用 + 号拼接字符串