JavaScript 之 基本包装类型
基本包装类型
为了方便操作基本数据类型,JavaScript 还提供了三个特殊的引用类型:String/Number/Boolean。
下面先看一段代码:
var s1 = "Hello world!!!";
var s2 = s1.substring(5);
我们要知道,s1 是一个基本类型,基本类型是没有办法的,只有对象才有属性和方法。那就有一个疑问,为什么可以调用 substring() 方法呢?
原因: 当调用 s1.substring(5) 的时候,会先把 s1 包装成 String类型的临时对象,再调用 substring()方法,最后销毁临时对象。
等价于:
var s1 = new String('Hello World!!!');
var s2 = s1.substring(5);
s1 = null;
创建基本包装类型的对象:
var num = 18; // 数值,基本类型
var num = Number('18'); // 类型转换
var num = new Number(18); // 基本包装类型,对象
注意:String 包装类最常用,Number 和 Boolean 基本包装类型基本不用,使用的话可能会引起歧义。
Demo:
var b1 = new Boolean(false);
var b2 = b1 && true;
下面来讨论一下 b2 的值是什么?
b2 = true。
原因:b1 是一个 Boolean 对象,它的原始值(PrimitiveValue)为 false。b1&& true 因为 b1是一个非空对象,所以会默认转换为 true。所以 b2 的值为 true。
扩展:会转换为 false 的5种情况: 0 '' null NaN undefined
JavaScript 之 基本包装类型的更多相关文章
- JavaScript的基本包装类型概述与基本包装类型_Number类型
JavaScript的基本包装类型示例 为了便于操作基本类型值,javaScript 提供了 3 个特殊的引用类型:Boolean.Number和 String. 这些类型与其他引用类型相似,但同时也 ...
- javascript之基本包装类型(Boolean,Number,String)基础篇
前几天整理了javascript中Array方面的知识,但是String中的一些方法多多少少和Array里的方法有些类似容易混淆,就顺便连同String所在的包装类一起整理一下,希望可以帮助到初学者, ...
- javascript 之基本包装类型--04
基本包装类型 基本包装类型是特殊的引用类型.每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而可以调用属性.方法来进行后续操作. ECMAScript还提供了三种基本包装类型 ...
- Javascript之基本包装类型
一.基本包装类型概述 var box = 'Mr. Lee';//定义一个字符串 var box2 = box.substring(2);//截掉字符串前两位 alert(box2);//输出新字符串 ...
- JavaScript的基本包装类型说明
一.基本包装类型: 为了便于操作基本类型值,ECMAScript 还提供了3个特殊的引用类型:Boolean.Number和String.这些基本包装类型,具有与各自基本类型相应的特殊行为. 实际上我 ...
- JavaScript的基本包装类型_String类型
String类型概述 String在底层字符串是以字符数组的形式保存的 var str = "Hello"; // 在底层其实就是['H','e','l','l','o'] 字符串 ...
- javaScript对象-基本包装类型的详解
本人按书上的内容大致地把javaScript对象划分成“引用类型”.“基本包装类型”和“内置对象”三块内容. 我们这篇先了解下基本包装类型的详细用法吧! 一.我们先解下相关概念: 1.引用类型的值(对 ...
- 《JavaScript 闯关记》之基本包装类型
为了便于操作基本类型值,JavaScript 还提供了3个特殊的引用类型:Boolean.Number 和 String.实际上,每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象 ...
- 《JavaScript高级程序设计》读书笔记 ---基本包装类型
为了便于操作基本类型值,ECMAScript 还提供了3 个特殊的引用类型:Boolean.Number 和String.这些类型与本章介绍的其他引用类型相似,但同时也具有与各自的基本类型相应的特殊行 ...
随机推荐
- 常用dos命令(1)
[ 文件夹管理 ] cd 显示当前目录名或改变当前目录. md 创建目录. rd 删除一个目录. dir 显示目录中的文件和子目录列表. tree 以图形显示驱动器或路径的文件夹结构. path 为可 ...
- Spring Data学习中心
Spring Data 概览 Spring Data的使命是为数据访问提供熟悉且一致的基于Spring的编程模型,同时仍保留底层数据存储的特殊特性. 它使数据访问技术,关系数据库和非关系数据库,map ...
- Math的round方法
代码如下,后面的注释是输出的结果 public static void main(String[] args) { System.out.println(Math.round(0.399)); Sys ...
- pytorch指定使用的单个GPU
1.pycharm里直接在代码中加入下面 import os os.environ["CUDA_VISIBLE_DEVICES"] = "2" 2.在终端指定使 ...
- 创建java类中类出现is not an enclosing class
public class A { public class B { } }; 需要实例B类时,按照正逻辑是,A.B ab = new A.B(); 那么编译器就会出现一个错误--"is no ...
- Computer-Hunters——凡事预则立
Computer-Hunters--凡事预则立 冲刺时间安排 时间 前端计划完成工作 11.6 完成用户注册登录界面,个人信息界面,以及热点资讯界面 11.7-11.8 匹配界面,电脑猎场界面 11. ...
- Java 并发系列之三:java 内存模型(JMM)
1. 并发编程的挑战 2. 并发编程需要解决的两大问题 3. 线程通信机制 4. 内存模型 5. volatile 6. synchronized 7. CAS 8. 锁的内存语义 9. DCL 双重 ...
- otl odbc小计
1. 使用odbc的时候,要注意数据库的编码与odbc配置的编码一致,不然有乱码.所以建议,表中字符编码,数据库的编码,odbc等connector的编码都是utf8,避免乱码问题 2. 安装odbc ...
- 2018-2019-2 网络对抗技术 20165318 Exp7 网络欺诈防范
2018-2019-2 网络对抗技术 20165318 Exp7 网络欺诈防范 原理与实践说明 实践目标 实践内容概述 基础问题回答 实践过程记录 简单应用SET工具建立冒名网站 ettercap D ...
- 20165230田坤烨网络对抗免考报告_Windows系统提权
目录 KERNEL EXPLOITATION 服务攻击: DLL劫持 攻击 不安全的服务权限 探测 unquoted path未被引号标记的路径 探测 攻击 服务注册表键 探测 攻击 Named Pi ...