包装器函数
三个:
- new Number()
- new String()
- new Boolean():
原型对象中的各种方法
- Number.prototype.xxx
- String.prototype.xxx
- Boolean.prototype.xxx
例子引入
结果:
对于基本数据类型,没有length属性和toString方法,但是能调用
实际的操作:
Var str=”hello”; //本身是基本数据类型string
Console.log(str.length); //打印时发生了以下几步
1)、通过new创造实例对象new String(str) (把string基本数据类型参数转换成引用数据类型(object 中的子类型String))自动装箱
2)、用new String(str)实例对象调用lengthnew String(str).length
3)、拆箱变成str(基本数据类型string) 自动拆箱
在vs中:
<script>
var str="hello";
var re=new String(str);
console.log(re);
console.log(typeof re);
</script>
可以看出str已经变成了类数组对象,类型也是对象
2、var num=10;
//基本数据类型number
Console.log(num.toString(num));
//
1)、new Number(10); **自动装箱**
2)、new Number(10.toString());
3)、10 **自动拆箱**
区分包装器函数和转换函数
new Number():包装器函数
声明:var re=new Number();
此时re是引用类型object
Number():转换函数
声明:var re=Number()
此时re是基本数据类型number
原型对象中的属性和方法
String.prototype.xxx:
1)、length:返回字符串长度
var str='hello';
console.log(str.length); //5
2)、charAt(index); 返回数组下标为index的字符
var str='hello';
var re=str.charAt(1);
console.log(re); //e
3)、charCodeAt(index); 返回数组下标为index的字符ASCII编码
var str='hello';
var re=str.charCodeAt(2)