JAVASCRIPT中的基本包装类型?

这里是修真院前端小课堂,每篇分享文从

【JAVASCRIPT中的基本包装类型? 】

大家好,我是IT修真院北京分院第22期的学员杨纲,一枚正直纯洁善良的WEB前端程序员。

1.背景介绍

我们目前对Javascript多少都有一些了解和使用。其中最基础的,就是js的数据类型,分为两大块,一个是基本数据类型,包括:undefined、null、boolean、number、string等;一个是引用数据类型,包括object、array、Date、RegExp等。在引用类型中,还有三个特殊的引用类型,和基本数据类型相似,我们接下来来认识一下:boolean、number、string。

2.知识剖析

2.1 特殊的引用类型之string

如同上边代码所示,字符串是一个基本数据值。但是,我们知道基本数据类型不是对象,在逻辑上来讲,它不应该有方法,但是上边的substring()是如何实现的呢?详细剖析的话,我们可以把它分成一下这种步骤:

通过上一页的代码细节的展示,我们可以看出,基本类型的字符串就变成了和对象一样。这就引入了基本包装类型的概念:每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而让我们能够调用一些方法来操作这些数据。

作为特殊的引用类型,其与引用类型的的主要区别在于对象的生存期上。使用new或者其他简写的方法创建引用类型的实例,在执行六离开当前作用域之前都一直保存在内存中。自动创建的基本包装类型的对象,则只存在于一行代码执行的瞬间,然后立即被销毁了。这就意味着,不能在运行时为基本类型值添加属性和方法。

String类型在ECMAScript中提供了一些方法,用于对字符串进行解析和操作。

字符串的方法:

concat()用于对一个或者多个字符串进行拼接显示,生成新的字符串,不会影响原有字符串。

//字符串方法varsvalue =“Hello”;varresult= svalue.concat(“Da Wa”); console.log(result); console.log(svalue);varb = svalue + ‘ErWa’;

还有三种创建新字符串的方法:slice()、substr()、substring()。

var a =“tianqingle”;console.log(a.slice(3));console.log(a.substring(3));console.log(a.substr(3));console.log(a.slice(3,7));console.log(a.substring(3,7));console.log(a.substr(3,7));

2.4 特殊的引用类型之Boolean

varaobj = newBoolean(false);varresult= aobj &&true;console.log(result);varbvalue =false;result= bvalue &&true;console.log(result);

在布尔值运算中,fals&&true返回false,一假全假;布尔表达式中所有对象会返回true。

2.3 特殊的引用类型之Number

Number类型是与数字值对应的引用类型。

var num = new Number(100); console.log(num.toString()); console.log(num.toLocaleString()); console.log(num.valueOf()); console.log(num.toFixed(3)); console.log(num.toExponential(3)); console.log(num.toPrecision(2));//支持1到21位小数

与Boolean类型一样,同样不建议显式实例化Number类型,原因同Boolean类型一样,在使用valueOf()和instanceof()方法时会出现容易让人误解的结果,从而造成混乱。

3.常见问题

问题: 如何分割一个很长的字符串?

3.常见问题

问题: 如何分割一个很长的字符串?

3.常见问题

问题: 如何分割一个很长的字符串?

4.解决方案

通过字符串模式匹配的方法。

var s =“天上的云,地上的水,水清了,就可以低头看见天上的云!”; var b = s.split(’,’);var c = s.split(’,’,2);console.log(b);console.log©;

5.编码实战

参看上边简单的demo演示,暂无更多demo!

6.扩展思考

问题: 如何替换子字符串的内容?

这里使用了replace()的方法:

varh=“cat, bat, sat, fat”; console.log(h.replace(“at”,“ond”)); console.log(h.replace(/at/g,“end”));

7.参考文献

参考一:JavaScript高级程序设计

8.更多讨论

讨论点:大家对于基本包装类型还有哪些认识,分享一下?

鸣谢

感谢大家观看

BY : 高雪峰

问:基本包装类型有哪些:

答:string,object,array,null,number,,

问:array和object有什么区别?

答:array有序,object无序,

问:split怎么用?

答:详见demo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值