为了便于操作“基本类型值”,JS 提供了 三个 特殊的引用类型:Boolean、Number、String。这些类型和其他引用类型相似,但同时 也具备 与各自基本类型相应的特殊行为。 实际上:每当读取一个基本类型值的时候, “后台就会创建一个 对应的基本包装类型的对象”,从能能够调用一些方法来操作这些数据。

1、String对象

String对象是基本类型,但是也是特殊的引用类型(基本包装类型:内部创建对象,可以调用它自己内部的特殊行为)

1、String是基本包装类型:

 var box ='Mr.Xiao';     //字面量创建方式

 alert(box.substring()); //box 是基本类型,但是也是特殊的引用类型,在后台 会创建一个 基本包装类型的对象;;所以可以调用 系统内置的函数

2、String对象不是引用类型(因为无法动态添加属性和方法)

 //注意  这种简单类型不是引用类型(因为他们不能 添加属性和方法)
box.name='xiao';
box.age=function(){
return ;
} alert(box.name); //undefined
alert(box.age()); //报错

3、使用New修饰符创建的String对象就是Object引用类型的对象

new修饰符创建的对象是引用类型,可以动态添加属性和方法。

 var box =new String('Mr.Xiao');
box.name="xiao";
box.age=function(){
return ;
}
alert(box.name); //xiao
alert(box.age()); //
alert(box.substring()); // .Xiao 也是可以执行的

4、String内部的方法和属性

演示一些常用的方法:

1》字符串截取函数

JS中的字符串截取函数:slice()、substring()、substr()函数。

 1.都含有两个参数:

 var str ='Mr.Wang';
alert(str.charAt(3));//W
alert(str[3]);//W //截取字符串方法:slice()、substring()、substr()
var str ='Mr.Wang'; alert(str.slice(2,4));//.W 索引从 2开始 到 4结束 截取字符串
alert(str.substring(2,4));//.W 效果同上
alert(str.substr(2,4)); //.Wan 从2开始 截取长度为 4 的字符串

 2.含有一个参数

这个时候效果就相同了,都是从索引开始位置一直截取到最后。

//如果 只含有一个 参数,他们的效果就相同了,,就是 从索引位置  一直到最后
alert(str.slice(2));//.Wang
alert(str.substring(2));//.Wang
alert(str.substr(2));//.Wang

 3.当参数含有负数的时候

基本用不到就是了解一下而已

 //slice()翻译方式:用字符串长度加上 负数的值 得到的 数字
alert(str.slice(2,-1));//.Wan 7+(-1)=6——》翻译之后是(2,6)
alert(str.slice(-2,-1));//n 翻译之后是(5,6)
alert(str.slice(-2));//ng 同样的翻译道理 //substring()翻译方式:只要遇到 负数就 返回0,,如果前面的数字 大于 后面的数字,就将两个数字调换位置
alert(str.substring(2,-1)); // Mr 翻译结果:(1,2) //substr() 翻译方式:遇到 负数 直接返回0 ,但是不会调换位置
alert(str.substr(2,-1)); // 空字符串 翻译结果:(2,0) //PS:在IE 下 如果 substr() 方法 参数传递负值 那么就会 返回全部字符串
alert(str.substr(-2));//Mr.Wang

 2》indexOf()函数和lastIndexOf()函数

indexOf():获取第一个 含有 "搜索字符串"的位置

lastIndexOf()  :从后面开始 搜索到 第一个  "搜索字符串"的位置

 var str ='Mr.Wang is a good Wang.Wang is a best Wang.';
alert(str.indexOf('Wang'));//3 默认是 索引为0 的位置 开始 搜索的 alert(str.lastIndexOf('Wang'));//28 默认是从最后开始 搜索的 alert(str.indexOf('Wang',10));//18 第二个参数:开始搜索的 索引位置
alert(str.lastIndexOf('Wang',30)); //23 从索引为 30 的位置 开始 向前面搜索 //PS:如果没有找到 搜索字符串 那么就会 返回-1

实现业务:查询出上面的字符换“Wang”的所有的索引位置

var posArray=[];
var pos =str.indexOf('Wang');
while(pos>-1){
posArray.push(pos);
pos =str.indexOf('Wang',pos+1); }
alert(posArray);

5、Boolean没有内置方法

6、Number内置方法 

Number静态属性

Number对象的方法

上面使用方法和上面的基本相似,作用上面注明了。

7、基本包装类型的 内部 方法其实都是 prototype属性和方法,,也可以自己添加

 //可以 添加 原型属性和方法(所有实例共享的作用),,他内部的 所有内置的方法都是原型方法
String.prototype.AddNum=function(){
return this +'111...';
}
var str ='xiao';
alert(str.AddNum());//xiao111... var b=true;
Boolean.prototype.ReturnFalse=function (){
return false;
}
alert(b.ReturnFalse());//false 可以添加 原型方法

js之基本包装类型的更多相关文章

  1. js的基本包装类型

    基本包装类型(包装对象): 先看下以下代码: var s1 = "helloworld"; var s2 = s1.substr(4); 上面我们说到字符串是基本数据类型,不应该有 ...

  2. js基础-基本包装类型

    var t = 13; t.toString(); //t是一个简单数值类型 现在有了方法 toString 对象类型的方法 //数值类型有对应的包装类型 var t1 =new Number(333 ...

  3. 5.6 JS中基本包装类型

    为了便于操作基本类型值,ES还提供了三种特殊的引用类型,即(基本包装类型):Number,String,Boolean.这三种类型与前面介绍的引用类型相似,但同时也拥有基本数据类型的一些特性. 平时经 ...

  4. js中基本包装类型详情

    基本包装类型 基本包装类型有Boolean,Number和string类型,每当读取一个基本类型值时,后台就会创建一个对应的基本包装类型对象. 从逻辑上,基本类型值不是对象,没有方法,但从技术上来看, ...

  5. js基础——基本包装类型

    1.基本包装类型String   var bz = new String("Li.Linda"); //引用类型(object)         bz.name= bz.subst ...

  6. JS 学习笔记--10---基本包装类型

    练习中使用的浏览器是IE10,如果有什么错误或者不同意见,希望各位朋友能够指正,练习代码附在后面 1.基本包装类型:    首先是基本类型,但又是特殊的引用类型,因为他们可以调用系统的方法,这种类型就 ...

  7. JS中基本类型与包装类型的关系

    对于JS中一些类型的转化的东西,自己测试并得出的结论,有错误的地方请大大们留言. 不多废话,直接贴代码,测试请直接拷贝全部代码: <!DOCTYPE html> <html> ...

  8. JavaScript--我发现,原来你是这样的JS(再说引用类型,基本包装类型与个体内置对象)

    一.介绍 本篇是续上一篇的,引用类型的后篇,本篇主要是说基本包装类型和个体内置对象.如果你能收获一些知识,那我很高兴,很满足,哈哈哈,希望大家能愉快看完.如果你想学好一门技术,要不忘初心,方得始终. ...

  9. JS基本包装类型之三(String)

    1. 基本数据类型和基本包装类型 这里以字符串类型来讲解基本数据类型和基本包装类型. JS中存在基本数据类型String(typeof返回"string"), 也存在基本包装数据类 ...

随机推荐

  1. solr5.5教程-tomcat布署

    tomcat和solr在各自官网下载,版本如下: tomcat版本:8.0.24 solr版本:5.5.0 1.solr解压后,目录结构如下: 2.tomcat的webapps里新建solr目录, 把 ...

  2. sql关联excel查询

    select * from 表名 where 字段名 in (SELECT excel列名 FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data S ...

  3. Solaris磁盘设备

    Solaris的磁盘分区称为分片(slice),在磁盘上,一个环形就是一个分区分片的命名通常是c#t#d#s#c:Controller number,控制器标号,c0就是第一个控制器t:Taget n ...

  4. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(九)-- 单元测试

    本篇将结合这个系列的例子的基础上演示在Asp.Net Core里如何使用XUnit结合Moq进行单元测试,同时对整个项目进行集成测试. 第一部分.XUnit 修改 Project.json 文件内容, ...

  5. 自制tab页

    没事自己弄着玩,写了个tab页.不要当真.想看就看看.希望相互学习. 效果预览:html源码: <!DOCTYPE html> <html lang="en"&g ...

  6. Win7、win2008中让IIS7支持asp的方法

    Win7或Windows server 2008中IIS7支持ASP+Access解决方法.  1. 让IIS7支持ASP  Win7或Windows server 2008中IIS7是默认不安装的, ...

  7. Spring中Quartz调度器的使用

    一.Quartz的特点 * 按作业类的继承方式来分,主要有以下两种: 1.作业类继承org.springframework.scheduling.quartz.QuartzJobBean类的方式 2. ...

  8. Oracle中Clob类型处理解析:ORA-01461:仅可以插入LONG列的LONG值赋值

    感谢原作者:破剑冰-Oracle中Clob类型处理解析 上一篇分析:ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值 最近为Clob字段在插入数据时发现当字符的字节数(一个半角字符一 ...

  9. hdu 1029

    #include"stdio.h" int main(void) { int n,x,y,t,i; while(scanf("%d",&n)!=EOF) ...

  10. 多线程报表生成其中报表以pdf形式保存

    设计思路采用生产者消费者模式,生产者生产报表消费者消费报表生成pdf文件其中报表以html形式存储在线程安全列表中.使用到技术有:多线程协作,线程池,线程安全,html 生成pdf. 一.生产者生成h ...