前端路线笔记
只记录自己不会的:https://www.bilibili.com/video/BV1Sy4y1C7ha
变量
1.变量在浏览器中会显示不同的颜色
Integer 浅蓝色,Boolean 深蓝色,String 黑色
2.js 确认框(基本没用过)
var myname = prompt('请输入名字');
alert(myname)
3 变量交换(没用)
临时变量法
var a = 1;
var b = 2;
var temp = a;
a = b;
b = temp;
console.log(a);
console.log(b);
解构赋值法
let x = 1;
let y = 2;
[x, y] = [y, x];
console.log(x);
console.log(y);
4 进制表示
// 八进制
console.log(012);
// 十六进制
console.log(0xa);
5 Integer 的特殊值
console.log(Number.MAX_VALUE);// 最大值
console.log(Number.MIN_VALUE);// 最小值
console.log(Number.MAX_VALUE*10);// 输出 Infinity 无穷大,超过浮点上限
console.log(-Number.MAX_VALUE*10);// 输出 -Infinity 无穷小,超过浮点下限
console.log('xx'-199);// 输出 NaN,无法转换为数字
// 判断是否是 NaN
var a = 'af'-100;
if (isNaN(a)) {
console.log("不是数字")
} else {
console.log("是数字")
}
6 类型转换
+ 号快速转换为字符串
console.log(1+'dfdf');// 1dfdf
// null,undefined 拼接的时候会变成字符串的 'null','undefined'
var a = null;
var b;
console.log(a+'')
console.log(b+'')
- 号快速转换为数字
console.log('233'-1);// 232
转换 int,float
// parseInt() 转换为整形,后面有多余字符串会被自动忽略
console.log(parseInt('120px'))
// parseFloat() 转换为浮点型,后面有多余字符串会被自动忽略
console.log(parseFloat('3.14π'))
其它
// toString() 转换,String() 强制转换
var a = 1;
console.log(a.toString())
console.log(String(a));
// Number() 强制转换为数字
console.log(Number('12'));
7 Boolean 值
除了非0数字和非空字符串为 true,其它都为 false
// Boolean() 强制转换为 Boolean
console.log(Boolean('df'));// true
console.log(Boolean(12));// true
console.log(Boolean(0));// false
console.log(Boolean(''));// false
console.log(Boolean(null));// false
console.log(Boolean(undefined));// false
// 在判断语句中,数值会自动判断 true/false
var a = '';
if (a) {
console.log("true")
} else {
console.log("false")
}
8 typeof 特殊
var a = null;
console.log(typeof a);// 返回为 'object'
9 特殊关键字 name
// 没定义却输出了空字符串,所以不要用 name 做位变量名
console.log(name);