javascript number转string不用科学计数法_[JavaScript]之数据类型篇

本文详细介绍了JavaScript中的7种数据类型,包括number、string、boolean、symbol、undefined、null和object,特别关注了数值的表示、字符串的多行书写、boolean的逻辑运算,以及对象的属性操作和类型检测。此外,还讨论了Base64编码转换及对象属性的遍历和删除。
摘要由CSDN通过智能技术生成

JavaScript共有7种数据类型:number,string,boolean,symbol,undefined,null,object

1. number

  • 整数和浮点数
    JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。
  • Math.pow()
    Math.pow()可以用来计算基数的指数次幂
//求2的3次方
Math.pow(2,3)    //8
  • 科学计数法
    数值也可以采用科学计数法表示
123e3       //123000
  • 数值的进制
    JavaScript对整数提供四种进制的表示方式:十进制、十六进制、八进制、二进制
    十进制:没有前导0的数值。
    八进制:有前缀0o或0O的数值,或者有前导0、且只用到0-7的八个阿拉伯数字的数值。(后来 ES5 添加了 0o11 语法)
    十六进制:有前缀0x或0X的数值。
    二进制:有前缀0b或0B的数值。

2.string

  • 多行字符串
    可以在每一行的尾部使用反斜杠
var longString = 'Long 
long 
long 
string';

longString
// "Long long long string"

或者使用连接运算符+

var longString = 'Long '
  + 'long '
  + 'long '
  + 'string';

longString
// "Long long long string"
  • 字符集
    JavaScript使用Unicode字符集,JavaScript引擎内部,所有字符都用Unicode表示
  • Base64转码
    所谓 Base64 就是一种编码方法,可以将任意值转成 0~9、A~Z、a-z、+和/这64个字符组成的可打印字符。使用它的主要目的,不是为了加密,而是为了不出现特殊字符,简化程序的处理。btoa():任意值转为 Base64 编码atob():Base64 编码转为原来的值
var string = 'Hello World!';
btoa(string) // "SGVsbG8gV29ybGQh"
atob('SGVsbG8gV29ybGQh') // "Hello World!"

3.boolean

  • boolean的值只有两个:true和falsea && b 在 a 和 b 都为 true 时,取值为 true;否则为 falsea || b 在 a 和 b 都为 false 时,取值为 false;否则为 true

4.undefined和null

nullundefined都可以表示“没有”,含义非常相似。

undefined == null

// true
  • (规范)如果一个变量没有被赋值,那么这个变量的值就是 undefiend
  • (习俗)如果你想表示一个还没赋值的对象,就用 null。如果你想表示一个还没赋值的字符串/数字/布尔/symbol,就用 undefined(但是实际上你直接 var xxx 一下就行了,不用写 var xxx = undefined)

5.object

  • object 就是上面几种基本类型(无序地)组合在一起
  • object 的 key 一律是字符串,不存在其他类型的 key
  • object[''] 是合法的
  • 属性的读取
    读取对象的属性,有两种方法,一种是使用点运算符,还有一种是使用方括号运算符。两者是有区别的
//如果使用方括号运算符,键名必须放在引号里面,否则会被当作变量处理。
var foo = 'bar';

var obj = {
  foo: 1,
  bar: 2
};

obj.foo  // 1
obj[foo]  // 2
  • 查看属性
    查看一个对象本身的所有属性,可以使用Object.keys方法
var obj = {
  key1: 1,
  key2: 2
};

Object.keys(obj);
// ['key1', 'key2']
  • 删除属性delete命令用于删除对象的属性,删除成功后返回true
var obj = { p: 1 };
Object.keys(obj) // ["p"]

delete obj.p // true
obj.p // undefined
Object.keys(obj) // []
  • 属性是否存在in运算符用于检查对象是否包含某个属性,如果包含就返回true,否则返回false
var obj = { p: 1 };
'p' in obj // true
'toString' in obj // true
  • 属性的遍历for...in循环用来遍历一个对象的全部属性
var obj = {a: 1, b: 2, c: 3};

for (var i in obj) {
  console.log('键名:', i);
  console.log('键值:', obj[i]);
}
// 键名: a
// 键值: 1
// 键名: b
// 键值: 2
// 键名: c
// 键值: 3

注意:for...in遍历的是对象所有可遍历(enumerable)的属性,会跳过不可遍历的属性。for...in不仅遍历对象自身的属性,还遍历继承的属性。

6.typeof操作符

typeof运算符可以返回一个值的数据类型。
null和function比较特殊

9356e0f26d0b39662f35550d6e3c96ad.png


typeof操作符.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值