宝哥软件园

javascript基本打包类型简介

编辑:宝哥软件园 来源:互联网 时间:2021-09-09

为了方便对基本类型值的操作,ECMAScript提供了三种特殊的引用类型:布尔值、数字和字符串。这些类型与其他引用类型相似,但它们也有与其基本类型相对应的特殊行为。事实上,每当读取基本类型值时,后台都会创建一个基本包装类型的对应对象,这样就可以调用一些方法来操作数据。

一、基本包装类型概述

var box='李先生';//定义一个字符串var box 2=box . substring(2);//切断字符串报警的前两位数字(方框2);//输出新的字符串变量box是一个字符串类型,box.substring(2)表示它是一个对象(PS:只有对象才会调用方法),最后把处理结果赋给box2。“Lee先生”是字符串类型的值,它不应该是对象,也不应该有自己的方法,例如:

警惕(‘李先生’。子串(2));//直接按值调用方法

1.文字写作:

var box='李先生';//文字框. name=' Lee ';//无效属性box.age=function () {//无效方法返回100;};警报(方框);Leealert先生(box . substring(2));//.Leealert(盒子类型);//string alert(box . name);//undefinedalert(box . age());//错误2。2 .新操作员的编写:

var box=新字符串('李先生');//新运算符box.name=' Lee//有效属性box.age=function () {//有效方法返回100;};警报(方框);Leealert先生(box . substring(2));//.Leealert(盒子类型);//object alert(box . name);//Lealert(box . age());//文字声明和100以上的新运算符声明很好地显示了它们的区别。但是,有一点是肯定的,那就是它的内置方法可以被使用,而不管字面上还是新的运算符形式。而布尔和数字特性与String相同,三种类型可以成为基本的封装类型。

PS:使用新运算符创建以上三种类型的对象时,可以给自己添加属性和方法,但我们建议不要这样使用,因为这样会导致您无法区分它们是基本类型值还是引用类型值。

第二。布尔型

布尔类型没有特定的属性或方法。

三.数字类型

Number类型有一些静态属性(不使用新运算符直接通过Number调用的属性)和方法。

数字静态属性

数字对象的方法

var box=1000.789alert(box . ToString());//转换为字符串,传递的参数可以转换为二进制alert(alert(box . tolocalestring());//本地形式,1,000.789 alert(box . tofixed(2));//保留小数点,1000.78 alert(box . to exponential());//以索引的形式,传输时保留小数点提醒(box . to precision(3));//指数或点形式,传递小数点为4的参数。字符串类型

字符串类型包含三个属性和大量可用的内置方法。

字符串对象属性

String还包含对象的常用方法,例如valueOf(),toLocaleString()和toString(),但这些方法都返回字符串的基本值。

字符法

var box='李先生';alert(box . charat(1));//raert(box . charcodeat(1));//114alert(框[1]);//r、按数组截取PS:框[1]会在IE浏览器中显示未定义,谨慎使用。

字符串操作方法

var box='李先生';alert(box.concat(' is ','教师','!'));//李先生是老师!alert(box . slice(3));//Lealert(box . slice(3,5));//Lealert(box . substring(3));//Lealert(box . substring(3,5));//Lealert(box . substr(3));//Lealert(box . substr(3,5));//Leevar box='李先生';alert(box . slice(-3));//Lee,6 (-3)=3位开始提醒(box . substring(-3));//李先生负数返回所有alert(box . substr(-3));//Lee,6 (-3)=3位起始var box=' Lee先生';alert(box.slice(3,-1));//Le 6 (-1)=5,(3,5)alert(box.substring(3,-1));///Mr第二个参数为负,直接转为0,方法会提前较小的数字,(0,3)alert(box.substr(3,-1));//' '第二个参数为负,直接转换为0。(3,0) PS: IE的JavaScript实现在处理将负值传递给substr()方法的情况时存在问题,会返回原始字符串,所以使用时要记住。

字符串位置方法

var box='李先生就是李';alert(box . indexof(' L '));//3alert(box.indexOf('L ',5));//10 alert(box . LastIndex of(' L '));//10alert(box.lastIndexOf('L ',5));//3、从指定位置向前搜索PS:如果没有找到需要的字符串,则返回-1。

例子:找到所有的l。

var box='李先生就是李';//包含两个l的字符串var boxarr=[];//将数组var pos=box.indexOf('L ')存储在L位置;//获取第一个l的while(pos-1)first {//如果位置大于-1,则表示Lboxarr.push(pos)仍然存在;//添加到数组pos=box.indexOf('L ',位置1);//来自新分配的pos }alert(boxarr)的当前位置;//输出案例转换方法

var box='李先生就是李';alert(box . tolowercase());//全小写alert(box . touppercase());//所有资本预警(框。tolocallowercase());alert(box . tolocaleuppercese());PS:只有少数语言(如土耳其语)有当地的格位。一般来说,本地化效果是一致的。

字符串的模式匹配方法

正则表达式在字符串中的应用已经在前面的章节中详细讨论过了,所以我在这里不再重复。Match()、replace()、serach()和split()也可以用在普通字符串中。

var box='李先生就是李';alert(box . match(' L '));//查找L,返回L,否则返回null alert(box . search(' L '));//查找L的位置,以及alert类型的index(box . replace(' L ',' Q '));//将l替换为Qalert(box . split('));//用空格分割字符串的其他方法

警报(字符串. FromCharCode(76));//L,输出Ascii码的对应值

localeCompare(str1,str2)方法的详细说明:比较两个字符串并返回以下值之一;

1.如果字符串应该排在字母表中的字符串参数之前,则返回一个负数。(多数票-1)2。如果字符串等于字符串参数,则返回0。3.如果字符串应该排在自附加表中的字符串参数之后,则返回一个正数。(多数票1)

[任务]var box=' Lee ';alert(box . locale compare(' apple ');//1 alert(box . locale compare(' Lee '));//0 alert(box . locale compare(' zoo ');//-1HTML方法

上面是通过JS生成一个html标签。根据经验,不是很有用。达成谅解。

var box=' Leealert(box . link('//www . JB 51 . net ');//超链接教程内容来自李延辉老师的JavaScript教程

以下是其他网友整理的文章:

基本包装类型概述

事实上,每当读取一个基本类型值时,后台都会创建一个基本封装类型的对应对象,这样就可以调用一些方法来操作数据;

var box='李先生';//定义字符串;var box 2=box . substring(2);//切断字符串的前两位数字;console . log(box 2);//输出新字符串;=.李;//变量框为String字符串类型,box.substring(2)表示是对象(只有对象才会调用方法);控制台日志(‘李先生’。子串(3));//直接通过字符串值调用方法=Lee引用类型和基本封装类型的主要区别是对象的寿命;自动创建的基本打包类型的对象只在执行一行代码时存在,然后立即被销毁;这意味着我们不能在运行时为基本类型值添加属性和方法;

var s1='某些文本';//=var s1=新字符串('某些文本');var S2=S1 . substring(5);//=var S2=S1 . substring(5);//S1=null;销毁此实例;后台自动执行;1.文字写作

var box='李先生';//文字量;box.name=' Lee//无效属性;盒子;age=function(){//方法无效;返回100;};console . log(box . substring(3));//=Lee;console.log(框的类型);//=字符串;console . log(box . name);//=未定义;console . lgo(box . age());//=错误;2.2 .新操作员的编写

var box=新字符串('李先生');box.name=' Leebox . age=function(){ return 100;};console . log(box . substring(3));//=Lee;console.log(框的类型);//=对象;console . log(box . name);//=Lee;console . lgo(box . age());//=100;//上面的文字声明和新运算符声明很好地说明了它们之间的区别;//但是,无论是文字运算符还是新运算符都可以使用其内置方法(substring);

两种布尔类型

//布尔类型没有特定的属性或方法;

三重数字类型

//Number类型有一些静态属性(由Number直接调用,没有新的运算符)和方法;

1.1的静态属性。数字对象

MAX_VALUE表示最大值;最小值代表最小值;NaN不是数值;负数-INFINITY是负数INFINITY,溢出返回这个值;正数无穷大,溢出返回这个值;原型原型,用于添加新的属性和方法;

2.方法2。数字对象

ToString()将数值转换为字符串,字符串可以转换为二进制;ToLocaleString()根据本地数字格式转换字符串;ToFixed()保留小数点后的指定位数,并将其转换为字符串;ToExponential()以指数形式表示数字;ToPrecision()表示指数形式或点形式的数字;

四种字符串类型

字符串类型包含三个属性和大量可用的内置方法;

1.字符串对象属性

Length返回字符串的字符长度;构造函数返回创建字符串对象的函数;Prototype通过添加属性和方法来扩展字符串定义;2.String对象字符方法charAt(n)返回指定索引位置的字符;CharCodeAt(n)以Unicode编码的形式返回指定索引位置的字符编码;var box='李先生';console . log(box . charat(1));//=r;console . log(box . charcodeat(1));//=114;console.log(框[1])//=r;阵列拦截;3.字符串对象字符串操作方法

Concat(str1.str2)将字符串参数连接到调用此方法的字符串;Slice(n,m)返回从字符串位置n到m的字符串;子串(n,m)如上;Substr(n,m)从字符串位置n开始返回m个字符串;var box='李先生';console.log(box.concat('Ok!'));//=李先生好的!console . log(box . slice(3));//=Lee;(从索引3中截取以下所有字符);console.log(box.substring(3,5));//=乐;(从索引3到索引5截取字符);4.字符串对象字符串定位方法

IndexOf(str,n)从索引n向后搜索第一个字符串,并返回搜索到的索引值;Lastindexoff (str,n)从索引n向前搜索第一个字符串,并返回搜索到的索引值;var box='李先生就是李';console . log(box . indexof(' L '));//=3;(从前到后搜索的第一个L的索引值为3);console . log(box . LastIndex of(' L '));//=10;(从后向前搜索的第一个L的索引值为10);console.log(box.indexOf('L ',5));//=10;(从第五个开始向后搜索的第一个L的索引值为10);//如果没有找到要搜索的字符串,则返回-1;//找出所有的l;var box='李先生就是李';var boxarr=[];//存储l的数组;var pos=box . indexof(' L ');//获取第一个l的位置;而(pos-1){ //如果位置大于-1,l仍然存在;box arr . push(pos);//将找到的索引添加到数组中;pos=box.indexOf('L ',位置1);//重新分配pos的当前位置;} console . log(box arr);//[3,10]//trim()方法//ECMAScript5为所有字符串定义trim()方法;此方法创建字符串的副本,删除字符串前后的所有空格,然后返回结果。var str=' hello worldvar trimstr=str . trim();console . log(trimstr);//=hello world;console . log(str);//=hello world 24 //由于trim()返回字符串的副本,因此原始字符串中的前导空格和尾随空格将保持不变;5.string对象toLowerCase(字符串)的字符串大小写转换方法将所有字符串转换为小写;ToUpperCase(str)将所有字符串转换为大写;将所有字符串转换为小写并本地化;将所有字符串转换为大写并本地化;6.字符串对象字符串的模式匹配方法

//具体使用方法已在《正则》中介绍;Match(pattern)返回模式中的子字符串或null//与pattern.exec(str)相同;替换(模式,替换)用替换替换模式;Search(pattern)返回模式在字符串中的起始位置;Split(pattern)返回一个数组,其中字符串根据指定的模式进行拆分;var box='李先生就是李';var p=/L/g;//打开全局正则化;console . log(box . match(p));//=[L,L];console . log(box . search(p));//=3;console.log(box.replace(p,' Q '));//=Qee先生是Qee;console . log(box . split('));//=['李先生','是','李'];7.7 .其他方法。String对象fromCharCode(ascii)静态方法,输出相应值的Ascic代码;LocaleCompare(str1,str2)比较两个字符串并返回相应的值;8.字符串对象html方法//通过JS生成HTML标签用处不大;var box=' Leeconsole . log(box . link(' www . Baidu.com ');//a href=' www . Baidu.com ' Lee/a;五个汇总//因为基本封装类型,JS中的基本类型值可以作为对象访问;//基本类型功能://1。每个包装类型都映射到一个同名的基本类型;//2.在读取模式下访问基本类型值时,会创建对应基本封装类型的对象,方便数据操作;//3.一旦执行了操作基本类型值的语句,新创建的打包对象将被立即销毁;

更多资讯
游戏推荐
更多+