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

.记录一下以前没掌握的

变量 解释 示例
String字符串,一段文本。 要指示变量是字符串,你应该将它们用引号包裹起来。var myVariable = 'Bob';
Number数字,一个数字。不用引号包围。是只有一个单一的数据类型,内部被表示为64位的浮点数
,和java的double一样. NaN是一个特殊的数值.它不等于它自己.请不要使用== 和===来判断一个数字是否是Number,请使用 Number.isNaN() 或者isNaN方法
var myVariable = 10;
Boolean布尔型,一个 True/False (真 / 假)值。 true/false 是 JS 里的特殊关键字,不需要引号。var myVariable = true;
Array数组,一种允许你存储多个值在一个引用里的结构。var myVariable = [1,'Bob','Steve',10];
调用数组的元素只需: myVariable[0],myVariable[1], 等等.
Object对象,基本上 JavaScript 里的任何东西都是对象,而且都可以被储存在变量里。将这个记在脑子里。var myVariable = document.querySelector('h1');
上面所有示例都是对象。
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


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值