仿小米商城
JavaScript输入输出语句
方法 | 说明 |
---|---|
alert(msg) |
浏览器弹出警示框 |
console.log(msg) |
控制台打印输出信息 |
prompt(info) |
浏览器弹出输入框,用户可以输入 |
变量
变量的概念
变量的本质:就是内存中的一块存储空间(存放数据)
变量的使用
变量的声明
var age; // 声明一个 名称为age 的变量 ( variable 变量的意思 )
变量的赋值
age = 10; // 给 age 这个变量赋值为 10
变量的初始化
var age = 18; // 声明一个变量并赋值, 称之为变量的初始化。
变量语法扩展
更新变量:一个变量被重新复赋值后,它原有的值就会被覆盖,变量值以最后一次为准。
var age = 18;
age = 81; // 最后的结果是81
同时声明多个变量:只需写一个 var, 多个变量名之间使用英文逗号隔开。
var age = 10, name = 'zs', sex = 2;
声明变量特殊情况
情况 | 说明 | 结果 |
---|---|---|
var age ; console.log (age); |
只声明 不赋值 | undefined |
console.log(age) |
不声明 不赋值 直接使用 | 报错 |
age = 10; console.log (age); |
不声明 只赋值 | 10 |
变量命名规范
- 由字母(A-Z,a-z)、数字(0-9)、下划线(_)、美元符号( $ )组成,如:usrAge, num01, _name
- 严格区分大小写。
- 不能 以数字开头。
- 不能 是关键字、保留字。例如:var、for、while
- 变量名必须有意义。
- 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。userName
数据类型
简单数据类型(基本数据类型)
数字型 Number
JavaScript 数字类型既可以保存整数,也可以保存小数(浮点数)。
var age = 21; // 整数
var Age = 21.3747; // 小数
1. 数字型进制
最常见的进制有二进制、八进制、十进制、十六进制。
// 1.八进制数字序列范围:0~7
var num1 = 07; // 对应十进制的7
var num2 = 019; // 对应十进制的19
var num3 = 08; // 对应十进制的8
// 2.十六进制数字序列范围:0~9以及A~F
var num = 0xA;
2. 数字型范围
JavaScript中数值的最大和最小值
最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
最小值:Number.MIN_VALUE,这个值为:5e-32
3. 数字型三个特殊值
Infinity ,代表无穷大,大于任何数值
-Infinity ,代表无穷小,小于任何数值
NaN ,Not a number,代表一个非数值
4. isNaN
用来判断一个变量是否为非数字的类型,返回 true 或者 false
var usrAge = 21;
console.log(isNaN(userAge));// false ,21 不是一个非数字
var usrName = "andy";
console.log(isNaN(userName));// true ,"andy"是一个非数字
字符串型 String
字符串型可以是引号中的任意文本,其语法为 双引号 “” 和 单引号’’
var strMsg = "使用双引号表示字符串~"; // 使用双引号表示字符串
var strMsg2 = '使用单引号表示字符串~'; // 使用单引号表示字符串
1. 字符串引号嵌套
JS 可以用单引号嵌套双引号 ,或者用双引号嵌套单引号 (外双内单,外单内双)
var strMsg = '我是"高帅富"程序猿'; // 可以用''包含""
2. 字符串转义符
转义符都是 \ 开头的,常用的转义符:
转义符 | 解释说明 |
---|---|
\n |
换行符,n 是 newline 的意思 |
\\ |
斜杠 \ |
\' |
‘ 单引号 |
\" |
”双引号 |
\t |
tab 缩进 |
\b |
空格 ,b 是 blank 的意思 |
3. 字符串长度
通过字符串的 length 属性可以获取整个字符串的长度。
var strMsg = "字符长度";
alert(strMsg.length); // 4
4. 字符串拼接
// 1. 字符串 "相加"
alert('hello' + ' ' + 'world'); // hello world
// 2. 数值字符串 "相加"
alert('100' + '100'); // 100100
// 3. 数值字符串 + 数值
alert('11' + 12); // 1112
console.log('三十三' + 18); // 三十三18
var age = 18;
console.log('价格是' + age + '元'); // 价格是18元
数值相加 ,字符相连
布尔型Boolean
有两个值:true 和 false ,其中 true 表示真(值为 1),而 false 表示假(值为 0)。
console.log(true + 1); // 2
console.log(false + 1); // 1
Undefined和 Null
一个声明后没有被赋值的变量会有一个默认值undefined
var variable;
console.log(variable); // undefined
console.log('你好' + variable); // 你好undefined
console.log(11 + variable); // NaN
console.log(true + variable); // NaN
一个声明变量给 null 值,里面存的值为空
var vari = null;
console.log('你好' + vari); // 你好null
console.log(11 + vari); // 11
console.log(true + vari); // 1
获取变量数据类型
typeof 可用来获取检测变量的数据类型
var num = 18;
console.log(typeof num) // 结果 number
不同类型的返回值
数据类型转换
1.转换为字符串
- toString() 和 String() 使用方式不一样。
- 三种转换方式,更多第三种加号拼接字符串转换方式, 这一种方式也称之为隐式转换。
2.转换为数字型(重点)
- 注意 parseInt 和 parseFloat 单词的大小写,这2个是重点
- 隐式转换是我们在进行算数运算的时候,JS 自动转换了数据类型
3.转换为布尔型
代表空、否定的值会被转换为 false ,如 ‘’、0、NaN、null、undefined
其余值都会被转换为 true
console.log(Boolean('')); // false
console.log(Boolean(0)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean('小白')); // true
console.log(Boolean(12)); // true
解释型语言和编译型语言
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言才能执行程序。程序语言翻译成机器语言的工具,被称为翻译器。
- 翻译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译的时间点不同
- 编译器是在代码执行之前进行编译,生成中间代码文件
- 解释器是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器)
关键字和保留字
1. 标识符
标识(zhi)符:就是指开发人员为变量、属性、函数、参数取的名字。
标识符不能是关键字或保留字。
2. 关键字
关键字:是指 JS本身已经使用了的字,不能再用它们充当变量名、方法名。
包括:break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while、with 等。
3. 保留字
保留字:实际上就是预留的“关键字”,意思是现在虽然还不是关键字,但是未来可能会成为关键字,同样不能使用它们当变量名或方法名。
包括:boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、float、goto、implements、import、int、interface、long、mative、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile 等。
注意:如果将保留字用作变量名或函数名,那么除非将来的浏览器实现了该保留字,否则很可能收不到任何错误消息。当浏览器将其实现后,该单词将被看做关键字,如此将出现关键字错误。