前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >02JavaScript基础语法部分

02JavaScript基础语法部分

作者头像
Dreamy.TZK
修改2020-04-10 18:02:16
1.7K0
修改2020-04-10 18:02:16
举报
文章被收录于专栏:小康的自留地小康的自留地

包装类型

在JavaScript语言中,原始类型与包装类型创建的数据在使用上没有任何差异

定义变量的两种方式

代码语言:javascript
复制
// 直接/字面量 量方式定义
var bool = true;
//构造函数方式
var Bool = new Boolean(true);

创建对象的语法格式 new 构造函数(); 例如var Bool = new Boolean(true);表示创建一个值为true的变量Bool

三种包装类型分别是 布尔类型、数字类型、字符串类类型

代码语言:javascript
复制
var Bool = new Boolean(true);
var Num = new Number(100);
var Str = new String("this is message");

判断包装类型不能使用typeof而是使用instanceof 。语法结构变量名/对象名 instanceof 构造函数/数据类型

代码语言:javascript
复制
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。他们两个值相等但类型不等。

代码语言:javascript
复制
console.log(undefined == null); // 结果true 说明值相等
console.log(undefined === null); // 结果false 说明类型不等

类型转换

关键点

隐式类型转换

显式类型转换

JavaScript官方规范

官方未提及

明确表明

执行效率/性能

优于显式转换

弱于隐式转换

难易程度

不易

容易

隐式类型转换

欲转换为

转换符号

说明

示例

布尔

!!

将数据转换为布尔类型,在数据前加!!即可

!!"this is message"!!11

数字

+

将数据转换为数字类型,在数据前加+即可

+"this is message"+true

字符串

""+

将数据转换为字符串类型,与空字符串相加即可(位置无关)

"" + 100"" + true

  • 如果存在字符串的话,按照字符串的拼接操作
  • 没有字符串,而存在数字值的话,按照算数运算操作

显式类型转换

显示类型转换则是利用类型的构造方法

代码语言:javascript
复制
// 转化为 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类型的整数和浮点数。

代码语言:javascript
复制
console.log(parseInt(11.11));
console.log(parseFloat(11.11));

但需要注意的是:转换为整型即parseInt函数,如果包含小数则将小数部分舍掉,并不会四舍五入计算。

代码语言:javascript
复制
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方法。

代码语言:javascript
复制
var num = 100;
var bool = true;
console.log(typeof num.toString());
console.log(typeof bool.toString());
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 包装类型
  • 特殊类型
    • undefined
      • null
        • undefined与null的关系
        • 类型转换
          • 隐式类型转换
            • 显式类型转换
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档