/**
* 五种基本数据类型:string, number, boolean, null, undefined
*/
// undefined
// 声明变量foo,未声明变量bar
var foo;
console.log(`typeof foo: ${foo}`, `typeof bar: ${bar}`); // typeof foo: undefined typeof bar: undefined
if (foo === undefined) { // foo全等于undefined
console.log('foo全等于undefined');
} else {
console.log('foo不全等于undefined');
}
if (typeof bar === 'undefined') { // bar全等于undefined
console.log('bar全等于undefined');
} else {
console.log('bar不全等于undefined');
}
// typeof 返回字符串类型
console.log(`typeof (typeof foo): ${typeof (typeof foo)}`); // typeof (typeof foo): string
// 定义函数f()但没有函数体,默认为undefined
function f() { }
console.log(`typeof f(): ${typeof f()}`, `f() === undefined: ${f() === undefined}`); // typeof f(): undefined f() === undefined: true // null
console.log(`typeof Null: ${typeof Null}`); // typeof Null: undefined
console.log(`typeof null: ${typeof null}`); // typeof null: object // string
// 常用转义字符
// ---------------------------------------------------------------------------
// \n 换行
// \t 制表符
// \b 空格
// \r 回车
// \f 换页符
// \\ 反斜杠
// \' 单引号
// \" 双引号
// \0nnn 八进制代码 nnn 表示的字符(n 是 0 到 7 中的一个八进制数字)
// \xnn 十六进制代码 nn 表示的字符(n 是 0 到 F 中的一个十六进制数字)
// \unnnn 十六进制代码 nnnn 表示的 Unicode 字符(n 是 0 到 F 中的一个十六进制数字)
// ---------------------------------------------------------------------------
var foo = 'hello';
console.log(`typeof foo: ${typeof foo}`); // typeof foo: string // boolean
var right = true,
wrong = false;
console.log(`typeof right: ${typeof right}, typeof wrong: ${typeof wrong}`); // typeof right: boolean, typeof wrong: boolean // number
// 整型
var foo = 100;
console.log(`typeof foo: ${typeof foo}`); // typeof foo: number
// 八进制
var foo = 017;
console.log(foo); //
// 十六进制
var foo = 0xAB;
console.log(foo) //
// 浮点数
var foo = 23.01;
console.log(foo); // 23.01
// 最大值
console.log(`Number.MAX_VALUE = ${Number.MAX_VALUE}`); // Number.MAX_VALUE = 1.7976931348623157e+308
// 最小值
console.log(`Number.MIN_VALUE = ${Number.MIN_VALUE}`); // Number.MIN_VALUE = 5e-324
// 正无穷大
console.log(`Number.POSITIVE_INFINITY = ${Number.POSITIVE_INFINITY}`); // Number.POSITIVE_INFINITY = Infinity
// 负无穷大
console.log(`Number.NEGATIVE_INFINITY = ${Number.NEGATIVE_INFINITY}`); // Number.NEGATIVE_INFINITY = -Infinity
// isFinite 验证是有限数字
var foo = Number.POSITIVE_INFINITY,
bar = foo * 3;
if (isFinite(bar)) { // bar是无穷大数字
console.log('bar是有限数字');
} else {
console.log('bar是无穷大数字');
}
// NaN 不是一个数字,特殊数值,不可用于直接计算
var foo = 'hello';
if (isNaN(foo)) { // foo不是数字
console.log('foo不是数字');
} else {
console.log('foo是数字');
}

js五种基本数据类型:string, number, boolean, null, undefined的更多相关文章

  1. 【JavaScript的五种基本数据类型及转换】

    js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Null,Undefined),和一种混合数据类型就是特殊的(Object). "undefined& ...

  2. 5、前端--js常量、变量、5种基本数据类型(number string boolean undefined object)、运算符、流程控制、三元运算符、函数、自定义对象、内置对象、BOM操作

    变量与常量 在JS中声明变量需要使用关键字 老版本 var(全部都是全局变量) 新版本 let(可以声明局部变量) # 推荐使用let(其实问题不大) 在JS中声明常量也需要使用关键字 const # ...

  3. JavaScript 基础(一) - JavaScript的引入方式,JavaScript 变量命名规则,JS 的五种基本数据类型,ECMAScript 算数运算符,逻辑运算符

    JavaScript的引入方式 直接编写 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  4. javascript中五种基本数据类型

    前言: JavaScript中有五种基本数据类型(也叫做简单数据类型)分别为:undefined.null.bolean.number.string:另外还含有一种复杂的数据类型:object. 深入 ...

  5. javascript总结27 :特殊引用类型String/Number/Boolean

    为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String/Number/Boolean 1  Number 例如: var s1 = "zhangsan&quo ...

  6. 面试题:实现一个方法clone;可以对js五种数据类型进行值复制

    //先来方法的代码function clone(obj) { var copy; switch(typeof obj){ case 'number': case 'string': case 'boo ...

  7. redis的五种基本数据类型

    redis基本数据类型 redis一共分为5中基本数据类型:String,Hash,List,Set,ZSet 第一种String String类型是包含很多种类型的特殊类型,并且是二进制安全的.比如 ...

  8. Redis命令操作简介及五种value数据类型

    转自:https://blog.csdn.net/ty4315/article/details/52050721 Redis是使用键值存储数据,key必须是字符串value支持五种数据类型,最新版本又 ...

  9. js五种设计模式说明与示例

    第一种模式:js工厂模式    var lev=function(){        return "啊打";      };      function Parent(){    ...

随机推荐

  1. 什么是VPX技术?

    北京太速科技有限公司 自主研发VPX板卡  http://www.orihard.com/ 欢迎关注 新型VPX(VITA 46)标准是自从VME引入后的25年来,对于VME总线架构的最重大也是最重要 ...

  2. [前端自动化]grunt的简单使用

    前言 现在前端自动化已经是家常便饭,各种工具也是层出不穷,grunt.gulp.webpack是应用最广的三种工具,虽然grunt看似已垂垂老矣,但是以前写的很多项目一直用的就是grunt,温故方能知 ...

  3. maven多模块

    https://www.cnblogs.com/lichking2017/p/8996939.html

  4. Web核心之Response对象

    http协议的响应部分 格式: HTTP/1.1 200 OK Content-Type: text/html;charset=UTF-8 Content-Length: 101 Date: Wed, ...

  5. poj 3468: A Simple Problem with Integers (树状数组区间更新)

    题目链接: http://poj.org/problem?id=3468 题目是对一个数组,支持两种操作 操作C:对下标从a到b的每个元素,值增加c: 操作Q:对求下标从a到b的元素值之和. 这道题也 ...

  6. php strcasecmp()函数 语法

    php strcasecmp()函数 语法 作用:比较两个字符串(不区分大小写)直线电机驱动器 语法:strcasecmp(string1,string2) 参数: 参数 描述 string1 必须, ...

  7. 【Java】使用Lambda排序集合

    下面是Java lambda表达式的简单例子: // 1. 不需要参数,返回值为 5 () -> 5 // 2. 接收一个参数(数字类型),返回其2倍的值 x -> 2 * x // 3. ...

  8. python常用安装

    pip install CalledProcessErrorpip install Popenpip install runpip install requests

  9. 怎么更改win7登录界面

    方法/步骤   1 第一步,先打开注册表.快捷键是win+R.Win就是Windows图片那个键.打开会是这个. 2 在其中输入Regedit.就打开了传说中的注册表了.然后在注册表中选择.选择的顺序 ...

  10. <HTTP权威指南>记录 ---- 网络爬虫

    网络爬虫 网络爬虫(web crawler)能够在无需人类干预的情况下自动进行一系列Web事务处理的软件程序.很多爬虫会从一个Web站点逛到另一个Web站点,获取内容,跟踪超链,并对它们找到的数据进行 ...