js基本包装类型

js基本包装类型

/*
*
* 基本包装类型:number string boolean 本身是基本类型,但是在执行代码的过程中,
* 如果这种类型的变量调用了属性h或者是方法,那么这种类型就不再是基本类型,而是基本包装类型,
* 这个变量也不是普通的变量,而是基本包装类型对象
* https://www.cnblogs.com/john-sr/p/5731247.html
* */
var str = "hello world";
// 在调用属性或者方法的时候,成为基本包装类型对象
str = str.substr(2, 3);
// 结束后马上销毁
console.log(str);

// 实际上,内部是这样执行的
// var str = new String("hello world");
// str = str.substr(2, 3);
// str = null;//这里指的是str的那个对象销毁,等号左边的str保存返回的字符串,不冲突
// console.log(str);

// 超级大坑!!!
// 如果一个对象&&true,那么结果是true
// 如果true&&对象,那么结果是对象
// true在后,就是true
// flag在后,就是false
var flag = new Boolean(false);
var result = flag && true;//true
// var result = true && flag;//false
// var flag = new Boolean(true);
// var result = flag && false;//false
// var result = false && flag;
console.log(result);

var num = 10;//基本类型
var num2 = Number("10");//类型转换
var num3 = new Number(10);//基本包装类型

猜你喜欢

转载自blog.csdn.net/ckxkobe/article/details/84668231