JavaScript数据类型总结
1、 六种简单数据类型:Undefined、Null、Boolean、Number、String、Symbol(新增);
一种复杂数据类型:Object;
(1)基本数据类型保存在栈内存中,是按值传递的,因为可以直接操作保存在变量中的实际值;
(2)引用数据类型是保存在堆内存中的对象;与其他语言的不同是,JavaScript没有按引用传递,而是传递引用类型的参数(是按值传递,按引用访问),你不可以直接访问堆内存空间中的位置和操作堆内存空间,只能操作对象在栈内存中的引用地址;
(3)typeof 操作符适合确定除 Null 以外的简单数据类型;
var a = "hyd";
var b = ture;
var c = null;
var d = new Object(); alert(typeof a); //string
alert(typeof b); //boolean
alert(typeof c); //object
alert(typeof d); //object
(4) instanceof 操作符可以用来判断new 出来基本类型(简单数据类型);
var a = new String("hyd");
alert(a instanceof String); //true
var b = "hyd";
alert(b instanceof String); //false
2、 引用类型:Object、Array、Function、Date、RegExp、基本包装类型、单体内置对象(特殊引用类型);
(1)引用类型是一种数据结构,用以将数据和功能组合在一起;
(2)使用 new 创建的均为 Object 类型,所有引用类型默认都继承自 Object ;
(3)使用 typeof 操作符无法有效区分引用类型,只能知道他是对象,而不能知道是什么类型的对象,此时使用 instanceof 操作符;
var o = new Object();
var a = new Array();
var r = new RegExp(); alert(o instanceof Object); //true
alert(a instanceof Object); //true
alert(r instanceof Object); //true
//检测一个引用类型值与Object构造函数时,始终返回ture alert(a instanceof Array); //true
alert(r instanceof RegExp); //true
3、 基本包装类型:Boolean、Number、String;
(1)基本包装类型首先是基本类型,同时是特殊引用类型;
(2)自动创建的基本包装类型的对象,只存在与一行代码执行瞬间,而使用new运算符创建的引用类型的实例,在执行流离开当前作用域之前一直保存在内存中;
PS:typeof 检测函数返回"function";
Safair 5 及Chrome 7 之前,typeof 检测正则表达式返回"function";
ECMA-262规定:内部实现 [[call]] 方法的对象都应该在typeof 操作符时候返回“function”!
IE 与 Firefox 中,typeof 检测正则表达式返回"object";
JavaScript数据类型总结的更多相关文章
- Javascript:Javascript数据类型详解
要成为一个优秀的前端工程师,系统的学习Javascript,有夯实的Javascript基础,以及对语言本身的深刻的理解,是基本功.从Javascript数据类型开始,我将对Javascript知识体 ...
- JavaScript数据类型 typeof, null, 和 undefined
JavaScript 数据类型 在 JavaScript 中有 5 种不同的数据类型: string number boolean object function 3 种对象类型: Object Da ...
- 网页、JavaScript 数据类型
JavaScript 数据类型 一.基本数据类型: 字符串.数字.布尔.日期和时间 JavaScript 拥有动态类型 JavaScript 拥有动态类型.这意味着相同的变量可用作不同的类型: 1 v ...
- javascript数据类型、初始化
Javascript数据类型有6种: 数值型数据类型(Number): 字符串(String): 布尔型数据(Boolean): 对象数据(Object): 空(Null): 未定义(Undefine ...
- 第九十九节,JavaScript数据类型
JavaScript数据类型 学习要点: 1.typeof操作符 2.Undefined类型 3.Null类型 4.Boolean类型 5.Number类型 6.String类型 7.Object类型 ...
- Javascript数据类型共有六种
Javascript数据类型共有六种 /* var box; alert(typeof box); // box是Undefined类型,值是undefined,类型返回的字符串是undefined ...
- JavaScript复习之--javascript数据类型隐式转换
JavaScript数据类型隐式转换.一,函数类 isNaN() 该函数会对参数进行隐式的Number()转换,如果转换不成功则返回true. alert() 输出的内容隐式的 ...
- 数据的分类-JavaScript数据类型
JavaScript数据类型 1.数据类型是什么? 我们接触的绝大多数程序语言来说,把数据都进行了分类,包括数字.字符.逻辑真假:int,long,string,boolean....等等:我们都知道 ...
- js基础--javaScript数据类型你都弄明白了吗?绝对干货
欢迎访问我的个人博客:http://www.xiaolongwu.cn 数据类型的分类 JavaScript的数据类型分为两大类,基本数据类型和复杂数据类型. 基本数据类型:Null.Undefine ...
- 每天五分钟-javascript数据类型
javascript数据类型分为基本数据类型与复杂数据类型 基本数据类型包括:string,number,boolean,null,undefined,symbol(es6) 复杂数据类型包括:obj ...
随机推荐
- oracle dbms_repcat_admin能带来什么安全隐患
如果一个用户能执行dbms_repcat_admin包,将获得极大的系统权限. 以下情况可能获得该包的执行权限: 1.在sys下grant execute on dbms_repcat_admin t ...
- bzoj2752 高速公路
列式子: 如果把从i号收费站到i+1号收费站之间路段编号设为i. 假如查询l号收费站到r号收费站之间的期望值. $ Ans_{l,r} = \sum\limits_{i=l}^{r-1} v_i ...
- MUI - 打开页面默认弹出键盘及返回关闭键盘
打开页面默认弹出键盘及返回关闭键盘 http://www.cnblogs.com/phillyx/ (function(keyboard) { var openSoftKeyboard = funct ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二)
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二) 代码工程地址: https:/ ...
- [java]网上商城错误集锦 2016-05-08 21:49 499人阅读 评论(32) 收藏
网上商城敲到了第三天,马上就要踏入第四天啦,不过敲得这几天,学习到了不少东西,也接触了很多新东西,当然,遇到最多的,就是各种bug!下面总结一下自己遇到的这些bug. 一.时间获取不到 这个bug起源 ...
- VelocityTracker监控速度!!!
用来追踪触摸事件(flinging事件和其他手势事件)的速率.用obtain()函数来获得类的实例,用addMovement(MotionEvent)函数将motion event加入到Velocit ...
- SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled) 几种模式之间的转换
http://blog.sina.com.cn/s/blog_5aee9eaf0100y44q.html 在CentOS6.2 中安装intel 的c++和fortran 的编译器时,遇到来一个关于S ...
- iptables 过滤条件(Matches)
iptables可让你设置多种过滤条件,但是某些条件需要核心有提供相关功能才行.Iptables本身內建一般性的Internet Protocol (IP) 过滤条件,也就是說,即时沒载入任何扩充模组 ...
- LRJ-Example-06-16-Uva10129
#include <cstdio> #include <cstring> #include <vector> using namespace std; + ; // ...
- vue 组件评论 的同时进行刷新
注意:1.最重要理解这里的父组件的刷新功能,通过v-on事件绑定委托给子组件执行,因为子组件的提交按钮和父组件的刷新评论的功能是分开的. 2.没有数据时直接点击提交按钮时会出bug,并且关闭后重新加载 ...