js基本包装类型和引用类型
回顾
1.什么是基本类型?
共5个。boolean,string,number,null,undefined.
2.什么是引用类型?
引用类型的值是对象,保存在堆内存中;
引用类型的变量实际上是一个指针,它保存在栈中,指向堆内存中的对象;
包括:object array date regexp function
3.什么是基本包装类型?
既是基本,也是引用,所以叫做基本引用类型。
基本包装类型是对基本数据类型的封装,封装后即具有基本类型的功能,也有各自的特殊行为(方法)
4.和基本类型有什么区别?
区别在于对象的'生存期'。基本包装类型只存在于代码的执行瞬间,然后立即被销毁。
Boolean类型:
typeof对基本类型返回“boolean”,而对引用类型返回“object”。
其次,由于Boolean对象是Boolean类型的实例,所以使用instanceof操作符测试Boolean对象会返回true,而测试基本类型的布尔值则返回false。
建议永远不要使用Boolean对象!
Number类型:
创建number对象,可以在调用Number构造函数时向其中传递相应的数值:
var numberObject = new Number(10);
Number类型还提供一些用于将数值格式化为字符串的方法:toFixed()方法
1.toFixed()方法会按照指定的小数位返回数值的字符串表示:(即以0填补必要的小数位)
var num=10;
alert(num.toFixed(2)); //"10.00
2.toExponential(),该方法返回以指数表示法(e表示法)表示的数值的字符串形式。也可以接收一个参数,指定输出结果中的小数位数。
3.toPrecision()方法
可能会返回固定大小格式,也可能返回指数(exponential)格式;具体规则是看哪种格式合适。可以接收一个参数,表示数值的所有数字的位数(不包括指数部分):
var num = 99;
alert(num.toPrecision(1));//"1e 2"
alert(num.toPrecision(2));//"99"
alert(num.toPrecision(3));//"99.0"
注意:typeof 测试基本类型,返回number;测试number对象时,返回“object”。number对象是number类型的实例,而基本类型的数值则不是。
String()方法:
var stringObject = new String("hello world");
//length属性var stringValue = "hello world";alert(stringValue.length); //"11"
1.字符方法:
两个:charAt()和charCodeAt()
//charAt()方法以单字符字符串的形式返回给定位置的那个字符var stringValue = "hello world";
alert(stringValue.charAt(1)); //"e"
//【字符编码】形式返回给定位置的字符var stringValue = "hello world";
alert(stringValue.charCodeAt(1)); //"101"
2.字符串操作方法
concat():拼接字符串,返回拼接后的新字符串
var stringValue = "hello ";
var result = stringValue.concat("world");
alert(result); //hello world
alert(stringValue); //hello
//可以接收任意多个参数,即拼接任意多个字符串var stringValue = "hello ";
var result = stringValue.concat("world","!");alert(result);
alert(stringValue);
str(),substring(),substr():
注意:substring() 不接受负的参数;
substr()方法、slice()方法中的参数如果是负数,那么它规定的是从数组尾部开始算起的元素。
var stringValue = "hello world";
alert(stringValue.slice(3,7)); //"lo w" alert(stringValue.substring(3,7)); //"lo w"
alert(stringValue.substr(3,7)); //"lo world"
var stringValue = "hello world";
alert(stringValue.slice(3,-4)); //"lo w"
alert(stringValue.substring(3,-4)); //"hel"
alert(stringValue.substr(3,-4)); //" "
1.slice()方法会把第二个负值的参数转换为“字符串长度 负值”(本例中“hello world”共11个字符(含括号),所以是11-4=7),也就是说slice(3,-4)==> slice(3,7)==>"lo w"
2.substring()方法会将负值转换为0,substring(3,-4)==>substring(3,0),又因为这个方法会将较小的值作为开始位置、较大的值作为结束位置,所以==>substring(0,3)==>取前3个字符==>"hel"
3.substr()方法也将第二个参数转换为0。而substr()方法的第二个参数本身的含义是 ”返回的字符个数”,当值为0时,即返回0个字符。所以第二个参数为负值时,该方法返回空字符串。
更多专业前端知识,请上 【猿2048】www.mk2048.com
js基本包装类型和引用类型相关推荐
- 基本包装类型和引用类型
基本包装类型和引用类型 一.相关概念 1.定义 为了便于操作基本类型值,JavaScript提供了三个特殊的引用类型:Boolean.Number和String.这些类型与其他引用类型相似,但同时也具 ...
- JS:基本类型和引用类型
JS中的基本类型和引用类型 1.基本类型:number.boolean.string.undefined. null 2.引用类型:array.object.function.regexp- 一.基本 ...
- LV2之-----js 值类型和引用类型(基石1)
一.学习目标 1.值类型和引用类型的基本概念 2.常见的值类型和引用类型都有哪些? 3.数据类型检测 4.值类型和引用类型在内存中的存储机制 5.创建对象的方式有哪些? 6.对象属性名的点表示法和方括 ...
- JS基础类型和引用类型
JS基础类型和引用类型脑图
- JavaScript 基本类型和引用类型区别
基本概念 JS有以下这些数据类型:undefined.null.string.boolean.number.symbol.bigint.object. 其中,前面 7 个被称为基本类型,又叫原始类型( ...
- java面向对象(类与对象,局部变量成员变量,基本类型和引用类型作为参数传递)...
一.类和对象的区别 类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体 可以将玩具模型看作是一个类,将一个个玩具看作对象,从玩具模型和玩具之间的关系便可以看出类与对象之间的关系.类用于描述 ...
- Java Native Interface 二 JNI中对Java基本类型和引用类型的处理
本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 Java编程里会使用到两种类型:基本类型(如 ...
- 基本类型和引用类型的值 函数的传递参数
ECMAScript中函数的传参都是按值传递的. 不管是传基本类型的值还是引用类型的值都是按值传递,访问变量则分按值和按引用两种方式. 向参数传递基本类型的值 被传递的值会被复制(对应文章<基本 ...
- javascript变量中基本类型和引用类型的详解解读
前言: Javascript语言中的变量和其他语言的变量有很大区别,javascript松散类型的本质,决定了它只是在特定时间时间保存特定值得名字而已.由于不存在定义某个变量必须保存何种数据类型值的规 ...
最新文章
- 数据结构(C语言版) 第 八 章 排序 知识梳理 + 习题详解
- 利用OpenCV的级联分类器类CascadeClassifier和Haar特征实现人脸区域的检测
- mysql打包成docker_web应用如何打包成docker镜像?
- Ubuntu Server安全Webserver搭建流程
- *【HDU - 5711】Ingress(tsp旅行商问题,优先队列贪心,状压dp,floyd最短路,图论)
- eventfd-aio-test.c
- 第6篇 熊猫烧香专杀工具编写
- html视频标签略缩图,JavaScript截取video标签视频缩略图 方法1
- ArduinoUNO实战-第四章-按键控制led
- matlab求函数在区间内最大值与最小值
- mysql自定义函数的创建
- 【Lintcode】1132. Valid Triangle Number
- Docker学习之docker重启参数--restart=always的作用
- 计算机音乐夜空,星空音乐在线点播系统
- 动手写操作系统9----键盘鼠标中断实现
- google的秘密入口+搜索技巧
- 谷歌浏览器插入百度翻译插件
- Anaconda教程
- 做好站外推广之论坛推广的技巧
- 获取Flickr API key及利用Python获取Flickr数据
热门文章
- 【OFDM系列1】OFDM调制原理、参数、循环前缀、采样偏差、频偏及估计详解
- 一个直角三角形的两个直角边是 a,b(a≤b),其斜边是 c,且 a,b,c都是正整数。现在我们已经知道了斜边长度c,请问这个直角三角形的两个直角边的长度是什么?Java
- 计算机基础知识第3版答案,计算机基础知识试题库及答案(3)
- linux权限c是什么意思,linux服务器下权限设置
- HDU 3555 Bomb (数位DP)
- C#找出数组中重复次数最多的数值
- adodb.stream对象的方法/属性
- 小学计算机三年级课程目录,小学生信息技术课本目录.doc
- Pycharm的远程代码编辑
- redhat/centos 搭建svn服务器环境