<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
/*
* 1.三大包装对象Number,String,Boolean当做构造函数使用的时候,将普通数据包装成一个对象
* 2.三大包装对象不做构造函数使用时,可将任意数据类型转成Number,String,Boolean类型
* 3.原始类型数据可自动转型包装对象,但这个对象是临时的,执行完就会呗销毁,所以给其添加属性返回的是undefined
* 4.Boolean()除了当做构造函数使用,还有类型转换作用
* 5.!!双叹号表示把任意值转换成布尔类型
* */
var str=new String('abc');
var num=new Number(123);
var b=new Boolean(true);
console.log(typeof str); //object
console.log(num.valueOf()); //123 返回包装实例的原始值
console.log(b);
console.log(Number(num)); //123
var str2='fdc';
str2.x=8;
console.log(str2.length); //3
console.log(str2.x); //undefined
//Boolean()当做类型转换
console.log(Boolean(undefined)); //false
console.log(Boolean(null));
console.log(Boolean(0));
console.log(Boolean(NaN));
console.log(Boolean(''));
console.log(Boolean('abc')); //true
console.log(Boolean(123));
console.log(Boolean(function(){}));
console.log(Boolean([]));
console.log(Boolean({}));
console.log(Boolean(/foo/));
//双!
console.log(!!undefined); //false
console.log(!!null);
console.log(!!NaN);
console.log(!!0);
console.log(!!'');
console.log(!![]); //true
console.log(!!'abc');
console.log(!!function(){});
console.log(!!{});
console.log(!!/foo/);
</script>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
/*
* 1.三大包装对象Number,String,Boolean当做构造函数使用的时候,将普通数据包装成一个对象
* 2.三大包装对象不做构造函数使用时,可将任意数据类型转成Number,String,Boolean类型
* 3.原始类型数据可自动转型包装对象,但这个对象是临时的,执行完就会呗销毁,所以给其添加属性返回的是undefined
* 4.Boolean()除了当做构造函数使用,还有类型转换作用
* 5.!!双叹号表示把任意值转换成布尔类型
* */
var str=new String('abc');
var num=new Number(123);
var b=new Boolean(true);
console.log(typeof str); //object
console.log(num.valueOf()); //123 返回包装实例的原始值
console.log(b);
console.log(Number(num)); //123
var str2='fdc';
str2.x=8;
console.log(str2.length); //3
console.log(str2.x); //undefined
//Boolean()当做类型转换
console.log(Boolean(undefined)); //false
console.log(Boolean(null));
console.log(Boolean(0));
console.log(Boolean(NaN));
console.log(Boolean(''));
console.log(Boolean('abc')); //true
console.log(Boolean(123));
console.log(Boolean(function(){}));
console.log(Boolean([]));
console.log(Boolean({}));
console.log(Boolean(/foo/));
//双!
console.log(!!undefined); //false
console.log(!!null);
console.log(!!NaN);
console.log(!!0);
console.log(!!'');
console.log(!![]); //true
console.log(!!'abc');
console.log(!!function(){});
console.log(!!{});
console.log(!!/foo/);
</script>
</body>
</html>