网站生成app要多少钱,专业提供网站建设服务的企业,上海公司注册网上申请,最好免费观看高清视频直播基本包装类型(包装对象)#xff1a; 先看下以下代码#xff1a; var s1 helloworld;
var s2 s1.substr(4); 上面我们说到字符串是基本数据类型#xff0c;不应该有方法#xff0c;那为什么这里s1可以调用substr()呢#xff1f; 通过翻阅js权威指南第3.6章节…基本包装类型(包装对象) 先看下以下代码 var s1 helloworld;
var s2 s1.substr(4); 上面我们说到字符串是基本数据类型不应该有方法那为什么这里s1可以调用substr()呢 通过翻阅js权威指南第3.6章节和高级程序设计第5.6章节我们得知ECMAScript还提供了三个特殊的引用类型Boolean,String,Number.我们称这三个特殊的引用类型为基本包装类型也叫包装对象. 也就是说当读取string,boolean和number这三个基本数据类型的时候后台就会创建一个对应的基本包装类型对象从而让我们能够调用一些方法来操作这些数据. 所以当第二行代码访问s1的时候后台会自动完成下列操作 创建String类型的一个实例// var s1 new String(helloworld); 在实例上调用指定方法// var s2 s1.substr(4); 销毁这个实例// s1 null; 正因为有第三步这个销毁的动作所以你应该能够明白为什么基本数据类型不可以添加属性和方法这也正是基本装包类型和引用类型主要区别对象的生存期. 使用new操作符创建的引用类型的实例在执行流离开当前作用域之前都是一直保存在内存中.而自动创建的基本包装类型的对象则只存在于一行代码的执行瞬间然后立即被销毁 转载于:https://www.cnblogs.com/-rainbow-/p/9406704.html