检测原始值、引用值和属性

简介: 一、原始值javascript中包含5种原始类型:字符串、数字、布尔值、null和undefined。判断一个值得最佳选择是typeof运算符,返回一个表示值得类型的字符串。字符串            string数字               number布尔值            bool...

一、原始值
javascript中包含5种原始类型:字符串、数字、布尔值、null和undefined。
判断一个值得最佳选择是typeof运算符,返回一个表示值得类型的字符串。
字符串            string
数字               number
布尔值            boolean
undefined       undefined

例如:

if(typeof name === "string"){
   console.log("name的值是字符串");  
}

 

二、引用值
javascript中包含几种内置的引用类型:Object、Array、Date和Error。
判断是否为引用类型最佳选择instanceof运算符。
默认情况下,每个对象都会继承Object,因此每个对象的value instanceof Object都会返回true。

例如:

if(val instanceof Date){
   console.log("是Date的对象。");  
}



三、检测函数
使用typeof运算符。

例如:

function test(){}
if(typeof test === "function"){
  console.log("test是函数");
}


备注:IE8及其一下版本,将typeof document.getElementById认为是Object,而不是function。

四、检测数组

例如:

function isArray(){
  return Object.prototype.toString.call(arguments[0])  === '[object Array]'; 
}

 

备注:引用值和判断数组方法最大的区别在于frame中,instanceof Array在frame中不能返回真确的结果,原因是每个frame都有各自的Array构造函数,因此一个frame中的实例在另外一个frame中不会识别。


五、检测属性
判断属性是否存在最好的方法是使用in运算符。
如果只想检查实例对象的某个属性是否存在,则使用hasOwnProperty()方法。

例如:

if('placeholder' in document.createElement('input')){
  console.log("支持placeholder属性");
}

 

if(document.createElement('input').hasOwnProperty("placeholder")){
  console.log("true。备注:判断DOM元素是否具有某种属性,慎用hasOwnProperty()方法");
}


备注:判断DOM元素是否具有某种属性,慎用hasOwnProperty()方法。
IE8及其以下版本认为DOM元素并非继承自Object。



目录
相关文章
|
5月前
对调 2个变量的值若干种方式
对调 2个变量的值若干种方式
13 0
|
9月前
对象的属性和值转换
对象的属性和值转换
26 0
|
10月前
|
存储 人工智能 JavaScript
JavaScript变量原始值与引用值
相比于其他语言,JavaScript 中的变量可谓独树一帜。正如 ECMA-262 所规定的,**JavaScript 变量是 松散类型的**,而且变量不过就是特定时间点一个特定值的名称而已。由于没有规则定义变量必须包含什 么数据类型,变量的值和数据类型在脚本生命期内可以改变。这样的变量很有意思,很强大,当然也有 不少问题。本章会剖析错综复杂的变量。
45 0
判断Object中数据类型(已知类型、未知类型))
判断Object中数据类型(已知类型、未知类型))
110 0
lodash根据函数分配值,更新对象的属性路径的值
lodash根据函数分配值,更新对象的属性路径的值
59 0
lodash设置对象属性路径的值,可以根据函数定制值
lodash设置对象属性路径的值,可以根据函数定制值
120 0
lodash判断值是否是原始有限数值
lodash判断值是否是原始有限数值
61 0
类型和值
类型和值
53 0
|
存储 JavaScript 前端开发
JavaScript中的原始值与引用值
原始值与引用值 在JavaScript中包含两种不同类型的数据:原始值和引用值 原始值 :是指不包含任何引用的值(简单值),比如数字、字符串、布尔值、null和undefined。 引用值 :是指包含了一个引用的值,比如对象、数组、函数和方法。