300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 【javascript笔记】js基本数据类型

【javascript笔记】js基本数据类型

时间:2020-06-25 03:49:03

相关推荐

【javascript笔记】js基本数据类型

.记录一下以前没掌握的

undefined 是特殊的一类,typeof(undefined) 输出结果为defined

null 在w3c里面被归纳为特殊的一类,但是 typeof(null) 输出为 object ,如何判断是否为null呢,判定变量 temp请看下面的代码:

if(temp&&typeof(temp)=="object"){//temp是一个数组或者对象}

那如何判断一个传进来的参数是数组呢,typeof运算符不能判断是对象或者数组,我们就需要判定他的构造函数,请看下面的代码:

if(temp&&typeof(temp)==='object'&&temp.constructor===Array){//temp是一个数组}

上面的测试在不同的帧或者窗口创建的数组检测下会给出false,当数组有可能在其他帧中被创建时,下面的检测可能会更有效

if(temp&&typeof(temp)==='object'&&typeof(temp.length)==='number'&&!temp.propertyEnumerable('length')){}

arguments数组不是一个数组,它是一个带有length成员元素的对象.上面的检测会将arguments数组识别为一个数组,有时候这是你希望得到的结果,尽管arguments不包含数组的方法.无论如何,如果propertyIsEumarable方法被覆盖,该检测仍然可能失败.

hasOwnProperty() 判断是否是实例属性 注意:仅仅通过判断值是否为undefined还不足以检测一个属性是否存在,一个属性可能存在而其值恰好为undefined

delete " xxx" 删除实例属性

我们可以通过hasOwnProperty() 和in 来判断是否是原型属性

function hasProtoProperty(object,name){ return !obj.hasOwnProperty&& (name in object)}

hasPrototorypeProperty()方法请自行查询

摘自 javascript精粹 和MDN

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。