JS的历史和基本语法看阮一峰教程入门篇,这里不做赘述,本篇主要为js的数据类型。JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有七种。

  • 数值(number):整数和小数(比如13.14
  • 字符串(string):文本(比如Hello World)。
  • 布尔值(boolean):表示真伪的两个特殊值,即true(真)和false(假)
  • undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值
  • null:表示空值,即此处的值为空。
  • 对象(object):各种值组成的集合。
  • symbol(符号,ES6新加,本次暂不讨论)。
  • 最新增加 BigInt类型,是 JavaScript 中的一个新的数字基本(primitive)类型,可以用任意精度表示整数。使用BigInt可以安全地存储和操作大整数,即使这个数已经超出了Number能够表示的安全整数范围。感谢评论指出。




java删除对象属性代码怎么写 java对象删除某个属性_js 对象赋值


number

1.整数和浮点数
JS内部,所有数字都是以64位浮点数形式存储,即使是整数也亦然。
1 === 1.0 // true
2.数值精度
根据国际标准IEEE 754,JS里64个二进制位,从最左边开始:
第一位:符号位,0是正数,1是负数
2~12位:指数部分 (决定数值的大小)
13~63位:小数部分(决定数值的精度)
3 .数值范围
64位浮点数的指数位共11位,也就是0-2047(2^11 -1),又因正负之分,所以JS 的表示范围就是2^1024~2^-1023(开区间)之中。
如果一个数大于2^1024,JS无法表示这么大的数,发生正向溢出,返回Infinity
如果一个数小于2^-1075(指数部分最小值-1023,再加上小数部分的52位), JS无法表示这么小的数,发生负向溢出,返回0
Math.pow(2,1024) // Infinity Math.pow(2,-1075) // 0
4 .数值的表示
JS数值有很多种表示方法,如35(十进制),0xFF(十六进制),科学表示法等。

  • 二进制:0b 或0B 为前缀的数值
  • 八进制:有前缀 0o 或 0O 的数值,或者有前导0、且只用到0-7的八个阿拉伯数字的数值。
  • 十进制:没有前导0的数值
  • 十六进制:前缀为 0x 或 0X 的数值
  • 科学计数法:允许字母e或E后面跟一个整数表示数值的指数部分

默认情况下,JavaScript 内部会自动将八进制、十六进制、二进制转为十进制。
注:以下两种情况,JS会将数值自动转换为科学计数法

  • 小数点前数字多于21位
  • 小数点后的0多于5个
  • 否则,就保持原来的字面形式

string

字符串就是0个或多个排在一起的字符,放在单引号或者双引号之中


'你','abc',"你"  //合法字符串 
 ""  // 空字符串,长度为0
 " "//里面为空格的字符串,长度为2,但不是两个字符


想要字符串写在多行中,


// 方式1  注意后不可以有空格,否则就会报错
'345
453
78';
// 方式2
'123'
+'456'
+'78';
// 方式3  
`12345
67890`
// ES6新增加,反引号,且下一行首字母需要顶到头,负责空格也会算进去
// 比如上面这行代码,长度是11,尽管6顶到了头,因为5后面还有一个回车。


反斜杠" " 在字符串中有特殊含义,用来表示一些特殊字符,所以又称为转义符,我们假设想定义一个单引号,如果直接写'''的话,浏览器是这样读的, '' ' ,也就是一对单引号,然后剩下一个不知道干什么的单引号。那么我们怎么定义,可以用转义符。


D : null  (u0000)     
b : 后退键 (u0008)
f : 换页符 (u000C)
n : 换行符 (u000A)
r : 回车键 (u000D)
t : 制表符 (u0009)
v : 垂直制表符 (u000B)
' : 单引号 (u0027)
" : 双引号 (u0022)
 : 反斜杠 (u005c)


后面跟着的uXXXX 是u再加上四个十六进制,XXXX对应该字符的 Unicode 码点。

字符串可被视为字符数组,因此可以用数组的方括号运算符来返回某个位置字符,但切记,字符串与数组相似性仅此而已,它是无法像真正的数组一样改变字符串内的字符。当然,字符串也有属性length。

boolean

乔治·布尔是英格兰数学家和哲学家、数理逻辑学先驱。
由于其在符号逻辑运算中的特殊贡献,很多计算机语言中将逻辑运算称为布尔运算,将其结果称为布尔值。
布尔值只有两个值:true 和 false

下列运算符会返回布尔值:

  • 两元逻辑运算符: && (And),|| (Or)
  • 前置逻辑运算符: ! (Not)
  • 相等运算符:===,!==,==,!=
  • 比较运算符:>,>=,<,<=

如果 JavaScript 预期某个位置应该是布尔值,会将该位置上现有的值自动转为布尔值。转换规则是除了下面六个值被转为false,其他值都视为true。

  • undefined
  • null
  • false
  • 0
  • NaN
  • ""或''(空字符串)

a && b 在 a 和 b 都为 true 时,取值为 true;否则为 false
a || b 在 a 和 b 都为 false 时,取值为 false;否则为 true

undefined 和 null

都表示没有值,至于 JS 为什么有两个表示「没有值」的东西

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

所以typeof undefined的返回值是undefined,typeof null是object。

object

  • object 就是上面几种基本类型(无序地)组合在一起
  • object 里面可以有 object ,var person = { name: 'Frank', 'child': { name: 'Jack' }, // 最后这个逗号可有可无 }
  • object 的 key 一律是字符串,不存在其他类型的 key
  • object[''] 是合法的
  • object['key'] 可以写作 object.key
  • 注意 object.key 与 object[key] 不同
  • delete object['key']
  • 'key' in object
  • for in 遍历对象

对象是由键值对组成的无序复合数据组合,包含键名和键值,键值对之间用逗号分隔。对象的所有键名都是字符串(ES6 又引入了 Symbol 值也可以作为键名),所以加不加引号都可以。但是如果不加引号就一定要注意取名要符合标识符规则否则就会报错。如果键名是数值,会被自动转为字符串。
1.属性的读取
读取对象的属性,有两种方法,一种是使用点运算符,还有一种是使用方括号运算符。
var obj = { p: 'Hello World'}; // 以下两种读取方法

obj.p // "Hello World"

obj['p'] // "Hello World"
注:如果使用方括号运算符,键名必须放在引号里面,否则会被当作变量处理。
数值不需要放在引号里,因为会自动转换成字符串
var obj = { 88: 'Hello World' };

obj['88'] // "Hello World"

obj[88] // "Hello World"
注:数值键名不能使用点运算符(因为会被当成小数点),只能使用方括号运算符。2. 属性的赋值
点运算符和方括号运算符,不仅可以用来读取值,还可以用来赋值。
JavaScript 允许属性的“后绑定”,也就是说,你可以在任意时刻新增属性,没必要在定义对象的时候,就定义好属性。
var obj = { p: 1 }; // 等价于 var obj = {}; obj.p = 1;3. 属性的查看
查看一个对象本身的所有属性,可以使用Object.keys方法。
4.in:属性是否存在
存在就返回true,不存在就返回false.
5.delete
delete命令用于删除对象的属性,删除成功后返回true。
6.遍历 for…in
for...in循环用来遍历一个对象的全部属性。

typeof

可以返回一个值的数据类型


java删除对象属性代码怎么写 java对象删除某个属性_js 对象赋值_02