版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、javascript类型系统之基本数据类型与 包装类型写在前面的话javascript的数据类型可以分为两种:原始类型和引用类型原始类型也称为基本类型或简单类型,因为其占据空间同定,是简单的数据 段,为了便于提升变量查询速度,将其存储在栈(stack)中(按值访问)。其中, javascript 基木数据类型包括 undef ined> null> boolean、number 和 string 五种引用类型由于其值的大小会改变,所以不能将其存放在栈屮,否则会降低变 量查询速度,因此其存储在堆(heap)中,存储在变量处的值是一个指针,指向存 储对象的内存处(按址访问)注意对于引用
2、类型的值,可以为其添加属性和方法,也可以改变和删除其 属性和方法;但基本类型不可以添加属性和方法数字(12)布尔值(true)null(对象)(对象)(对象)(对象)(对象)地址(0)字符串("test')undefinedundefined类型只有一个值,就是undcfincdo当声明的变量未初始化时, 该变量的默认值是undefinedvar test;/undefinedconsole. log(test 二二 undefined);/truevar test 二 undefi ned;/undefi ned对于尚未声明过的变量只能执行一项操作,使用typeof操作符检
3、测其数据 类型,但严格模式下会导致错谋typeof(test);/undefined出现场景1 已声明未赋值的变量2 获取对象不存在的属性3 无返回值的函数的执行结果4 函数的参数没有传入5 void (expression)类型转换boolean (undefined):falsenumber (undefined): nanstring(undefined):' undefined'nullnull类型只有一个值,就是nullo逻辑角度看,rmll值表示一个空对象指 针,如果定义的变量将用于保存对象,最好将该变量初始化为nullo实际上 undefined 值是派生自 nu
4、ll 值的,所以 undefined = null注意null是空对象指针,而是空数组,是空对象,三者不和同console. log(nul 1 二二 undefined);/true出现场景对象不存在时 类型转换boolean (null):falsenumber (null):0string(null):'null'注意因为undefined和null不是构造器类型,所以不能添加自定义属性包装类型包装类型是特殊的引用类型。每当读取一个基本类型值的时候,后台就会创 建一个对应的基本包装类型的对象,从而可能调用一些方法来操作这些数据。包 装类型共包描boolean、number
5、和string三种var si = some text'var s2 = sl substring(2);/在上述过程中,实际上发生了三个步骤var si = new string c some text'); /(l)创建string类型的一个实例 var s2 = si. substring(2) ; /(2)在实例上调用指定的方法 si = null; /(3)销毁这个实例注意引用类型和基本包装类型的主要区别是对象的生存期。使用new操作 符创建的引用类型的实例,在执行流离开当前作用域z前都一直保存在内存屮。 而口动创建的基本包装类型的对彖,则只存在于一行代码的执行瞬间,
6、然后立即 被销毁。这意味着不能在运行吋为基木类型值添加属性和方法var si = some text'si. color = ' red'alert(si. color);/undefined创建方式显式创建包装类型共两种方式:lobjcct方式不建议使用 var s 二 new object(' abc'); var b = new object(true);var n 二 new object(123);2构造函数方式不建议使用 var b = new boolean(true); var n = new number(123);varnew str
7、ing (,abc,);注意使用new调用基木包装类型的构造函数与直接调用同名的转型函数 是不一样的var value 二,25,;var number = number(value);console. log(typeof number);/number var obj 二 new number(value);console. log(typeof obj);/objectbooleanboolean类型只有两个值:true和falseo boolean包装类型是与布尔值对 应的引用类型,在布尔表达式中使用boolean对象容易造成误解出现场景1条件语句导致系统执行的隐士类型转换2字而量或变
8、量定义类型转换number(true): 1| number (false) : 0str in g(true) :' true"| |str in g(false) :' false"boolea n()boolcan(undcfined):falseboolean(null):falseboolean(非空对彖包扌舌空数组和空对彖) : trueboolean(非 0) : true | | boolean(0 和 nan):falsebool ean (非空包括空格字符串):true | | boolean : fal se注意true不一定等于1,
9、false也不一定等于0包装类型继承的方法valueof ():返冋基本类型值true或fnlsetostring()和 tolocalestring():返回字符串'true'或'false' console log(lypeof true valueof (), true. valueof () ;/boolean irue console log(typeof false. valueof(), false. valueof();/boolean false console log(typeof true tostring(), true tostring
10、();/string 'true' consolc. log(typeof false tostring(), false tostringo) ;/string ' false1 console. log(typeoftrue, tolocalestring(), true, tolocalestring() ;/string ' true' console 1og(lypeoffalse.tolocalestring(), false. tolocalestring() ;/string 'false'numberjavascript
11、只冇一种数字类型,既可以表示32位的整数,述可以表示64 位的浮点数关于number类型的详细信息移步到此stringstring类型是javascript中唯一没有固定大小的原始类型下面接着来理解下javascript基本数据类型的包装对象现象:为什么可以对字符串的操作采用对象的表示法?例如:var s = "this is a string"var len = s.length;解析:javascript三个基木数据类型都有相应的对象类;分别为sring, number, boolean 类;javascript可以灵活的将一种类型的值转换为另一种类型; 当我们在对象环境屮使用字符串时,即当我们试图访问这个字符串的屈性或方法 时;javascript会为这个字符串值内部地创建一个string包装对象;string对象会暂时代替原始的字符串值,完
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医生聘用期间个人工作总结(13篇)
- 药物滥用社会工作干预-洞察分析
- 网络舆论心理分析-第1篇-洞察分析
- 戏剧剧本创作-洞察分析
- 信托法司法解释解读-洞察分析
- 医院个人一岗双责廉洁工作总结(6篇)
- 《涂装工程》课件
- 《家庭系统排列讲座》课件
- 办公室文化与家庭教育的融合实践
- 医学背景下的数学基础教育研究
- 2023届新高考二卷语文点对点攻关训练专题:文学类文本阅读
- 2023-计算机考研408真题及答案
- 垃圾焚烧锅炉系统安装方案
- 足球裁判规则PPT
- 中药的用法课件
- 锅炉水处理技术和锅炉加药技术15
- 《安全管理学》word版
- 氯氢处理装置工艺
- 生物工程论文 年产6万吨11°P啤酒厂发酵车间工艺设计
- windows7 操作系统
- 钢筋统计表(插图有尺寸)
评论
0/150
提交评论