02JavaScript基础语法部分
包装类型
在JavaScript语言中,原始类型与包装类型创建的数据在使用上没有任何差异
定义变量的两种方式
// 直接/字面量 量方式定义
var bool = true;
//构造函数方式
var Bool = new Boolean(true);创建对象的语法格式
new 构造函数();例如var Bool = new Boolean(true);表示创建一个值为true的变量Bool
三种包装类型分别是 布尔类型、数字类型、字符串类类型
var Bool = new Boolean(true);
var Num = new Number(100);
var Str = new String("this is message");判断包装类型不能使用typeof而是使用instanceof 。语法结构变量名/对象名 instanceof 构造函数/数据类型
console.log(Str instanceof String);特殊类型
undefined
得到undefined这个值的情况
声明变量但未初始化值时。
var msg; console.log(msg);声明变量并初始化值为
undefined时。var msg1 = undefined; console.log(msg1);函数中的
return语句的默认返回值。函数中的
return语句的返回值的设置为undefined访问某一对象中不存在的属性时。
null
null 是5个基本类型的一个,但是得到的类型是object。这是JavaScript语言的历史遗留问题/当初设计的纰漏。所以当我们判断null类型时可以使用特殊方法console.log(Object.prototype.toString.call(null));
undefined与null的关系
undefined派生于null。他们两个值相等但类型不等。
console.log(undefined == null); // 结果true 说明值相等
console.log(undefined === null); // 结果false 说明类型不等类型转换
| 关键点 | 隐式类型转换 | 显式类型转换 |
|---|---|---|
| JavaScript官方规范 | 官方未提及 | 明确表明 |
| 执行效率/性能 | 优于显式转换 | 弱于隐式转换 |
| 难易程度 | 不易 | 容易 |
隐式类型转换
| 欲转换为 | 转换符号 | 说明 | 示例 |
|---|---|---|---|
| 布尔 | !! | 将数据转换为布尔类型,在数据前加!!即可 | !!"this is message"!!11 |
| 数字 | + | 将数据转换为数字类型,在数据前加+即可 | +"this is message"+true |
| 字符串 | ""+ | 将数据转换为字符串类型,与空字符串相加即可(位置无关) | "" + 100"" + true |
- 如果存在字符串的话,按照字符串的拼接操作
- 没有字符串,而存在数字值的话,按照算数运算操作
显式类型转换
显示类型转换则是利用类型的构造方法
// 转化为 boolean 类型
console.log(typeof Boolean("this is message"));
console.log(typeof Boolean(100));
// 转化为number类型
console.log(typeof Number("100"));
console.log(typeof Number(true));
// 转化为 string 类型
console.log(typeof String(100));
console.log(typeof String(true));关于转换为数字时JavaScript提供了提供了两个函数用户转换为number类型的整数和浮点数。
console.log(parseInt(11.11));
console.log(parseFloat(11.11));但需要注意的是:转换为整型即parseInt函数,如果包含小数则将小数部分舍掉,并不会四舍五入计算。
console.log("100转化为", parseInt("100"));
console.log("100.55转化为", parseInt("100.55"));
console.log("100转化为", parseFloat("100"));
console.log("100.55转化为", parseFloat("100.55"));
/*
输出结果为:
100转化为 100
100.55转化为 100
100转化为 100
100.55转化为 100.55
*/关于转换为string类型JavaScript还提供一个toString方法。
var num = 100;
var bool = true;
console.log(typeof num.toString());
console.log(typeof bool.toString()); 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小康博客!
评论
TwikooDisqusjs









