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个字符。所以第二个参数为负值时,该方法返回空字符串。
js基本包装类型和引用类型的更多相关文章
- JS小知识点----基本包装类型和引用类型
var s1 = "some text"; s1.color = "red"; alert(s1.color); //弹出 underfined var s1 ...
- 【js】基本类型和引用类型的区别
1.保存方式:(一脸懵逼???) 基本类型是按值访问的,可以在变量的生命周期改变它,但是它是储存在哪里的呢?在浏览器缓存吗?[执行环境中定义的所有变量和函数都存储在执行环境的变量对象里,变量对象我们编 ...
- JS基本类型和引用类型的值
JS中可以把变量分成两部分,基本类型和引用类型. 基本类型比较简单,包括:Undefined.Null.Boolean.Number和String,基本类型值就是简单的数据段:引用类型值可能由多个值构 ...
- Js基础---红宝书读书日记(1)-------基本类型和引用类型
JS的变量可能包含两种不同数据类型的值,基本类型和引用类型; 基本类型是指简单的数据段,引用类型是指可能由多个值构成的对象; JS高级程序设计第三章介绍了变量分为 5种简单数据类型(string/nu ...
- DOM笔记(九):引用类型、基本包装类型和单体内置对象
一.Array 1 .创建数组的方式 //Array构造函数(可以去掉new) var colors0 = new Array(); var colors1 = new Array(20); var ...
- JS 基本类型和引用类型---JS 学习笔记(一)
本文参考了focusxxxxy的博客,感谢他的知识分享. 一 基本类型和引用类型的值 ECMAScript 变量包含两种不同数据类型的值:基本类型和引用类型. 也有其他的叫法,比如原始类型和对象类型, ...
- 关于js基本类型与引用类型(堆内存、栈内存的理解)
js 基本类型与引用类型的区别 ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型.也有其他的叫法,比如原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,还可以分为可变类型和不可 ...
- js高级程序设计 笔记 --- 引用类型
一,变量和作用域 1, js变量可以保存两种类型,基本类型.引用类型和symbol类型,基本类型有5种:undefined.null.boolean.number.string,它们都有以下的特征 基 ...
- Java Native Interface 二 JNI中对Java基本类型和引用类型的处理
本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 Java编程里会使用到两种类型:基本类型(如 ...
随机推荐
- 设计模式——享元模式(C++实现)
#include <iostream> #include <string> #include <map> #include <vector> #incl ...
- jQuery对于动态生成的元素绑定无效的问题~~
问题:很多时候发现,对动态生成的元素绑定click事件是无效的- 原因:直接绑定到动态生成的元素是无效的,是因为Jquery扫描文档找出所有的$(‘’)元素,并把函数绑定到每个元素的click事件上, ...
- unix及Linux发展历程
unix及Linux发展历程 版权申明:本文资料为网上收集,由本人整理而成,转载请注明 一,unix诞生: Ken Thompson肯·汤普森 -------- unix之父 在1969年到1970间 ...
- 兄弟连教育分享:用CSS实现鼠标悬停提示的方法
兄弟连教育分享:用CSS实现鼠标悬停提示的方法 本文,兄弟连HTML5培训,分享了纯CSS实现鼠标悬停提示的方法.给大家供大家参考.具体分析如下: 这是一款比较漂亮的鼠标悬停提示效果,用纯CSS代码实 ...
- [ZJOI2007] 矩阵游戏
Description 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两 ...
- SqlSever数据库实践周
资源下载 进行了为期5天的数据库设计,虽然以前用过数据库,但是这一次是使用书上规范的设计流程设计的数据库,感觉有必要记录一下,希望对其他人有帮助. 我的收获:在这个博客中会体现到我的收获,对于将要进行 ...
- 笔记:Maven 项目报告插件
Maven 项目报告插件,都是对于前面生成的项目站点的内容丰富,因此都是基于项目站点的,生成的命令和生成项目站点一致(mvn site),项目报告插件的配置和一般插件不同,是在 project-> ...
- java 10 中 var关键字用法
引用:https://mp.weixin.qq.com/s/n1tcJ0CywSi0j-YycGPwxg what java10引入了局部变量折断 var用于声明局部变量. 如var user=new ...
- Java中删除第一个集合中以某某开头的元素,删除第二个集合中以某某结尾的元素,并合并成一个集合
import java.util.ArrayList; import java.util.List; public class Test { public static void main(Strin ...
- 设计模式 --> (1)工厂模式
工厂模式 工厂模式属于创建型模式,大致可以分为三类,简单工厂模式.工厂方法模式.抽象工厂模式. 适用性: 例如部署多种数据库的情况,可能在不同的地方要使用不同的数据库,此时只需要在配置文件中设定数据库 ...