在 JavaScript 中,有 undefined、null、number、string、boolean 五种基本数据类型,另外,有一种复杂数据类型 object ,类似于 C# 中值类型、引用类型。

在 JavaScript 中,判断一个变量的数据类型(仅限于基本类型),可以通过 typeof 操作符来进行 , 返回一个字符串。

typeof(undefined)        // “undefined”
typeof(null)   // "object"
typeof(3)   // "number"
typeof("abc")    // “string”
typeof([]) // "object"
typeof(function test() {}) // "function"

在 JS 中,函数也是一种对象,  JavaScript 中有 String、Object、Boolean、Number、Date、Error 等内置函数对象。

  

 创建对象的可通过  new 构造函数名()实现。

 var array=new Array() ;  // 语法糖 []

 var obj=new Object();   // 语法糖 {}

而在 JavaScript 中判断引用类型 可采用 instanceof 进行判断   ( obj  instanceof  constructor  )  obj :需判断对象  constructor:函数名   返回值为 boolean     用于判断某个构造函数的prototype属性是否存在另外一个要检测对象的原型链上

    console.log([] instanceof Array) // true 

    console.log(Object instanceof Function) // true

    console.log(Object instanceof Object)     // true

  

JavaScript 中原型:在 JS 中通过原型来实现继承,在 JS  中没有类的概念。

在 JS 中每个 JS 对象都有一个默认 _proto_ 隐式属性(在 ECMASCRIPT 5 ,可通过 Object.getPrototypeof(obj) 方法获取对象原型 )

而该隐式原型等于创建该对象构造函数的 prototype 属性 ,每当对身自身查找方法属性时,如果在本身查找不到时,就会沿着该原型进行查找,

如果在该原型中查找不到,继续沿着该原型的原型往上进行查找 ...... 即形成原型链, 最后查找到 Object.prototype 为止,

Object.prototype._proto_ 值为 null。

obj._proto_===Object.getPrototypeof(obj)===constructor.prototype

 其中 obj 为对象  constructor 为创建 obj 的构造函数

  

    var obj={Name:"王尼玛",Age:20,Gender:true};

    console.log(obj.Name) ; //    JS 属性方法查找规律,首先去自身查找 Name 属性 ,如果找到就不在往上查找。

    console.log(obj.toString()); //  obj 本身是没有这个方法的,那么肯定就是继承而来的

关于 JavaScript 数据类型判断的更多相关文章

  1. javascript数据类型判断

    javascript基本数据类型:原始类型  和  引用类型 原始类型(简单数据类型):String,Number,Boolean,Undefined,Null,Symbol(ES6新增) 引用类型( ...

  2. JavaScript学习总结(2)——JavaScript数据类型判断

    最近做项目中遇到了一些关于javascript数据类型的判断处理,上网找了一下资料,并且亲自验证了各种数据类型的判断,在此做一个总结吧! 一.JS中的数据类型  1.数值型(Number):包括整数. ...

  3. JavaScript数据类型判断的四种方法

    码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14416375.html 本文分享了JavaScript类型判断的四种方法:typeo ...

  4. JavaScript 数据类型判断

    JavaScript 的数据类型分为两类:原始类型(基本类型)和对象类型(引用类型).原始类型包括数字.字符串和布尔值,另外有两个特殊的原始值:null 和 undefined,除此之外的都是对象.对 ...

  5. javascript 数据类型判断总结

    一 typeof 回顾:js有五种基本数据类型:值类型("number","string","boolean","undefine ...

  6. javaScript数据类型及判断

    ECMAScript数据类型概念: ECMAScript数据类型分为两类:原始类型和对象类型(即基本类型和引用类型): ECMAScript数据类型也可以分为可变类型和不可变类型,数组和对象属于可变类 ...

  7. Javascript 中的数据类型判断

    (迁移自旧博客2017 09 25) typeof 我们常使用typeof来判断数据类型,在常规场景中足以应付数据类型判断的需要: var obj = { name: 'zhangxiang' }; ...

  8. javascript数据类型的判断

    最近看到了很多关于数据类型判断的方法,总结了下 一.javascript的数据类型 js数据分为两种类型:原始数据类型和引用数据类型.原始数据类型有:string.number.boolean.und ...

  9. 请你讲一讲JavaScript有哪些数据类型, 数据类型判断有哪些方法?

    js的8种数据类型 JavaScript中有8种数据类型, 包括基本数据类型(number, string, boolean, null, undefined, symbol, bigint)和引用数 ...

随机推荐

  1. Android 设定activity的进入和退出效果

    看了android的源代码和资源文件,终于明白如何去修改设置Dialog和Activity的进入和退出效果了.设置Dialog首先通过 getWindow()方法获取它的窗口,然后通过getAttri ...

  2. fedora之防火墙

    通过iptables的设置可以学一些东西 从配置菜单关闭防火墙是不起作用的,索性在安装的时候就不要装防火墙查看防火墙状态:/etc/init.d/iptables status暂时关闭防火墙:/etc ...

  3. Ubuntu 12.04本地编译安装Vim

    1.下载Vim,参考http://www.vim.org/git.php 2.编译安装Vim,参考https://github.com/Valloric/YouCompleteMe/wiki/Buil ...

  4. 关于ckeditor添加的class都会被清除掉的问题

    在源码中输入ul,并且带有class,然后点击源码,到可视化界面 结果显示为aaa,再点看源码,查看HTML源代码 解决方法: 添加配置 config.allowedContent = true 这个 ...

  5. delphi使用 第三方控件

    第三方控件安装时必须把所有的pas,dcu,dpk,res等文件复制到你的Lib目录下 然后通过dpk进行安装 安装后会多出来新的控件面板,新控件就在那里了 当然也有一些控件会安装到原有的面板上 比如 ...

  6. CodeWars可以学习的

    http://www.codewars.com/kata/54ff3102c1bad923760001f3/solutions/csharp 判断给定的字符串有多少个a e i o u using S ...

  7. Eclipse环境下JBoss调试,解决引用的工程不被部署的问题

    其实算是一个很小的经验,在eclipse环境下进行jboss的部署,因为要定义某公共包的问题,将代码down下来做了个工程,部署时发现jboss提示:class not found! 从jboss部署 ...

  8. vmware 虚拟机 mount :no medium found解决方法

    使用vmware时,在虚拟机设置里,设置CD/DVD为系统镜像,挂载时,有时会有找不到介质或者no medium found之类的提示.根本原因是iso镜像并没有加载到虚拟机系统内.解决办法: 首先确 ...

  9. tomcat+dbcp+jndi 配置

    1)添加jar包 tomcat6中 TOMCAT_HOME/lib 下是公用jar包 dbcp需要3个jar包:Jakarta-Commons DBCP,Jakarta-Commons Collect ...

  10. Gradle使用手册(一):为什么要用Gradle?

    原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Using-sourceCompatibility-1. ...