js 删除对象属性_JS里的数据类型

4d287dfc3860d08f6904051b956becc7.png

JS里共有七种数据类型,分别是number(数值),string(字符串),boolean(布尔型),symbol,undefined,null,object(对象)。

number

C语言和java中都将数值类型分为了int(整型)和float(浮点型等,js里没再细分,只有一个number类型,表示所有数值。
js里所有数都是以64位浮点数的形式储存的,所有1和1.0是相同的数。
另外,js里的数可以用科学计数法表示,例如100可表示成1e2e大小写均可。

string

js中的字符串两端要带引号,单双引号均可,若字符串中含有引号,为避免干扰,可以在字符串中的引号前面加转义符

boolean

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

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

请注意,空数组[]和空对象{}在转换后也相当于true。

symbol

由于symbol对我们接下来的学习影响很小,所以暂不介绍。

undefined和null

这两种数据类型的效果很相似。在if语句中,都会被转为false==更是直接报告二者是相等的。
但是,二者也有些细微的差别。根据js语法可知,变量没有值时,等于undefined
根据惯例,有一个对象,定义时不想同时赋值,可用var obj=null;;有一个非对象,定义时不想赋值,可用var obj;,此时obj等于undefined
而且,null表示“空”,转为数字时是0。

Number(null)  //0
5+null    //5

undefined表示“此处无定义”,转为数字时为NaN。

Number(undefined)   //NaN
5+undefined    //NaN

object

上面六种数据类型皆是简单类型,object(对象)是复杂类型。
object包括狭义的object,数组array以及函数function。
一般而言,狭义的object即是指哈希表,由“键值对”组成。

var person={
    name:'jordan',
    age:18,
    married:true,
    children:{name:'xxx',age:1},
    '':'haha',
    '9a':'ha',
    167:145,
}

object的键全是字符串,所以带不带引号均可。注意,键可以为数值,是因为数值自动转化为字符串了。'9a'这个键必须带引号,因为它不符合标识符的命名方式,数字在前面,字母在后面,因此必须加引号。
空字符串''也可以作为键。

读取键值

若要读取键值,有两种方法:一种是方括号运算符parson['name'](这里的引号必须得加);一种是点运算符,person.name(键的命名方式必须符合标识符的命名方式,且纯数字也不行)。

删除键

删除键可用delete

delete person['name']      //true
person.name      //undefined
'name' in person       //false

delete将键和值同时删除。另一种方法person['name']=undefined只是将value定义为undefined,key仍然存在。

for...in

for...in循环遍历一个对象的全部属性,会跳过不可遍历的属性,会同时遍历对象自身的属性和继承的属性。

for(var key in person){
    console.log(key,person[key]);
}

上面的循环顺序是随机的。person[key]不能写成person.key(因为person.key相当于person['key'])。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值