例1:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p> constructor 属性返回变量或对象的构造函数。</p>
<p id="demo"></p>
<script>
var a=[1,2,3,4];
document.getElementById("demo").innerHTML =
"john".constructor + "<br>" +
(3.14).constructor + "<br>" +
false.constructor + "<br>" +
"b".constructor+"<br>"+
a.constructor + "<br>" +
typeof a.constructor + "<br>" +
a.constructor.toString()+"<br>"+
typeof a.constructor.toString()+"<br>"+
a.constructor.toString().indexOf("Array")+"<br>"+
typeof a.constructor.toString().indexOf("Array")+"<br>"+
//a.constructor.toString().indexOf("Array") > -1+"<br>"+
//typeof a.constructor.toString().indexOf("Array") > -1+"<br>"+
{name:‘john‘, age:34}.constructor + "<br>" +
new Date().constructor + "<br>" +
function () {}.constructor;
</script>
</body>
</html>
例1结果:
constructor 属性返回变量或对象的构造函数。
function String() { [native code] }
function Number() { [native code] }
function Boolean() { [native code] }
function String() { [native code] }
function Array() { [native code] }
function
function Array() { [native code] }
string
9
number
function Object() { [native code] }
function Date() { [native code] }
function Function() { [native code] }
例2:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p> constructor 属性返回变量或对象的构造函数。</p>
<p id="demo"></p>
<script>
var a=[1,2,3,4];
document.getElementById("demo").innerHTML =
"john".constructor + "<br>" +
(3.14).constructor + "<br>" +
false.constructor + "<br>" +
"b".constructor+"<br>"+
a.constructor + "<br>" +
typeof a.constructor + "<br>" +
a.constructor.toString()+"<br>"+
typeof a.constructor.toString()+"<br>"+
a.constructor.toString().indexOf("Array")+"<br>"+
typeof a.constructor.toString().indexOf("Array")+"<br>"+
a.constructor.toString().indexOf("Array") > -1+"<br>"+
//typeof a.constructor.toString().indexOf("Array") > -1+"<br>"+
{name:‘john‘, age:34}.constructor + "<br>" +
new Date().constructor + "<br>" +
function () {}.constructor;
</script>
</body>
</html>
例2 结果:
constructor 属性返回变量或对象的构造函数。
true
例3:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p> constructor 属性返回变量或对象的构造函数。</p>
<p id="demo"></p>
<script>
var a=[1,2,3,4];
document.getElementById("demo").innerHTML =
"john".constructor + "<br>" +
(3.14).constructor + "<br>" +
false.constructor + "<br>" +
"b".constructor+"<br>"+
a.constructor + "<br>" +
typeof a.constructor + "<br>" +
a.constructor.toString()+"<br>"+
typeof a.constructor.toString()+"<br>"+
a.constructor.toString().indexOf("Array")+"<br>"+
typeof a.constructor.toString().indexOf("Array")+"<br>"+
a.constructor.toString().indexOf("Array") > -1+"<br>"+
typeof a.constructor.toString().indexOf("Array") > -1+"<br>"+
{name:‘john‘, age:34}.constructor + "<br>" +
new Date().constructor + "<br>" +
function () {}.constructor;
</script>
</body>
</html>
例3结果:
constructor 属性返回变量或对象的构造函数。
false
例4:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p> constructor 属性返回变量或对象的构造函数。</p>
<p id="demo"></p>
<script>
var a=[1,2,3,4];
document.getElementById("demo").innerHTML =
"john".constructor + "<br>" +
(3.14).constructor + "<br>" +
false.constructor + "<br>" +
"b".constructor+"<br>"+
a.constructor + "<br>" +
typeof a.constructor + "<br>" +
a.constructor.toString()+"<br>"+
typeof a.constructor.toString()+"<br>"+
a.constructor.toString().indexOf("Array")+"<br>"+
typeof a.constructor.toString().indexOf("Array")+"<br>"+
//a.constructor.toString().indexOf("Array") > -1+"<br>"+
typeof a.constructor.toString().indexOf("Array") > -1+"<br>"+
{name:‘john‘, age:34}.constructor + "<br>" +
new Date().constructor + "<br>" +
function () {}.constructor;
</script>
</body>
</html>
例4结果:
constructor 属性返回变量或对象的构造函数。
true
例5:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p> constructor 属性返回变量或对象的构造函数。</p>
<p id="demo"></p>
<script>
var a=[1,2,3,4];
document.getElementById("demo").innerHTML =
"john".constructor + "<br>" +
(3.14).constructor + "<br>" +
false.constructor + "<br>" +
"b".constructor+"<br>"+
a.constructor + "<br>" +
typeof a.constructor + "<br>" +
a.constructor.toString()+"<br>"+
typeof a.constructor.toString()+"<br>"+
a.constructor.toString().indexOf("Array")+"<br>"+
typeof a.constructor.toString().indexOf("Array")+"<br>"+
a.constructor.toString().indexOf("Array") > -1+"<br>"+
{name:‘john‘, age:34}.constructor + "<br>" +
new Date().constructor + "<br>" +
function () {}.constructor+"<br>"+
typeof a.constructor.toString().indexOf("Array") > -1;
</script>
</body>
</html>
例5结果:
constructor 属性返回变量或对象的构造函数。
true
例6:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p> constructor 属性返回变量或对象的构造函数。</p>
<p id="demo"></p>
<script>
var a=[1,2,3,4];
document.getElementById("demo").innerHTML =
typeof a.constructor.toString().indexOf("Array") > -1+"<br>"+;
"john".constructor + "<br>" +
(3.14).constructor + "<br>" +
false.constructor + "<br>" +
"b".constructor+"<br>"+
a.constructor + "<br>" +
typeof a.constructor + "<br>" +
a.constructor.toString()+"<br>"+
typeof a.constructor.toString()+"<br>"+
a.constructor.toString().indexOf("Array")+"<br>"+
typeof a.constructor.toString().indexOf("Array")+"<br>"+
a.constructor.toString().indexOf("Array") > -1+"<br>"+
{name:‘john‘, age:34}.constructor + "<br>" +
new Date().constructor + "<br>" +
function () {}.constructor;
</script>
</body>
</html>
例6结果:
constructor 属性返回变量或对象的构造函数。
例7:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p> constructor 属性返回变量或对象的构造函数。</p>
<p id="demo"></p>
<script>
var a=[1,2,3,4];
document.getElementById("demo").innerHTML =
typeof a.constructor.toString().indexOf("Array") > -1+"<br>"+
"john".constructor + "<br>" +
(3.14).constructor + "<br>" +
false.constructor + "<br>" +
"b".constructor+"<br>"+
a.constructor + "<br>" +
typeof a.constructor + "<br>" +
a.constructor.toString()+"<br>"+
typeof a.constructor.toString()+"<br>"+
a.constructor.toString().indexOf("Array")+"<br>"+
typeof a.constructor.toString().indexOf("Array")+"<br>"+
a.constructor.toString().indexOf("Array") > -1+"<br>"+
{name:‘john‘, age:34}.constructor + "<br>" +
new Date().constructor + "<br>" +
function () {}.constructor;
</script>
</body>
</html>
例7结果:
constructor 属性返回变量或对象的构造函数。
false
例8:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p> constructor 属性返回变量或对象的构造函数。</p>
<p id="demo"></p>
<script>
var a=[1,2,3,4];
document.getElementById("demo").innerHTML =
typeof a.constructor.toString().indexOf("Array") > -1+"<br>"+
"john".constructor + "<br>" +
(3.14).constructor + "<br>" +
false.constructor + "<br>" +
"b".constructor+"<br>"+
a.constructor + "<br>" +
typeof a.constructor + "<br>" +
a.constructor.toString()+"<br>"+
typeof a.constructor.toString()+"<br>"+
a.constructor.toString().indexOf("Array")+"<br>"+
typeof a.constructor.toString().indexOf("Array")+"<br>"+
//a.constructor.toString().indexOf("Array") > -1+"<br>"+
{name:‘john‘, age:34}.constructor + "<br>" +
new Date().constructor + "<br>" +
function () {}.constructor;
</script>
</body>
</html>
例8结果:
constructor 属性返回变量或对象的构造函数。
true
问题:(typeof a.constructor.toString().indexOf("Array")) > -1 的摆放位置决定了最后的结果,该句只有放在最后的时候,输出才是true,其它位置都是false,为什么?