普通变量不能直接调用属性和方法
对象可以直接调用属性和方法
基本包装类型指本来是基本类型,但是在执行代码的过程中,这种变量调用了属性和方法之后,就变成了基本包装类型;这个变量也不是基本变量了,而是基本包装类型对象;
(基本类型有:number,string,bool
例子:
var str = "hello"; //本来事基本变量的
str = str.replace("ll","ee");//调用了方法
console.log(str);//输出heeeo
//说明str里的oo确实被替换了
//str不再是一个普通的变量了,而是基本包装类型的对象
再来个例子:
var flag = false;
console.log(flag&&true);//false
var flag1 = new Boolean(false);
console.log(flag1&&true);//true
console.log(true&&flag1);//Boolean {false}
//输出不是false了
//原因:对象&&true = true;true&&对象 = 对象;
Attention:
var num1 = 10;//基本类型
var num2 = Number("10");//还是基本类型,没有new! 这个叫类型转换
var num3 = new Number("10");//new了,是基本包装类型