javascript基本类型详细解决方案 浏览:180

在JS,原来有5个值,6种可以判断,9原生内置在构造函数。

这569是js语言的基础。

5个原始值是数字、字符、布尔值、null、未定义的。

类型:数字、字符,可以判断布尔、对象、功能、定义。注意空数组,并tyopeof所有输出对象。

类不能区分数组和对象,如何判断呢使用object.prototype.tostring.apply()。

如果(valuetypeof值= = = 'object' value.constructor =阵)

上述检测,如果在不同的帧和窗口中创建的数组给出false,则窗口对象是不同的。

一个可靠的方法是如果(object.prototype.tostring.apply(价值)={对象数组} )

参数数组不是数组,但他只是一个具有长度成员属性的对象。

如下面的示例所示,参数不是一个公共数组。

复制代码代码如下所示:

var =函数(){()

var b = object.prototype.tostring.apply(参数);

console.log(B);

}

a({对象参数}); /输出



复制代码代码如下所示:

var =函数(){()

var;

var b = object.prototype.tostring.apply(C);

console.log(B);

}

a({对象数组}); /输出



如何是判断它是否是一个例子

原型中的属性是构造函数。

默认的原型属性是一个对象对象,可以将其设置为任何复杂值,忽略设置作为原始值。

虽然他是一个对象,他是特殊的,和圆形链条的每个实例构造函数的原型属性。有一个隐藏的链接实例构造函数的原型属性之间,这是实例的__proto__。同时,该实例的构造函数属性的构造函数构造函数获得原型。

但要使新的实例构造函数可以有构造函数的属性,它可以判断是。

复制代码代码如下所示:

Var(富=函数){ }

原型

无功fooinstance =新的Foo;

fooinstance。__proto__ = = = foo.prototype; / /真的

fooinstance.constructor = foo; / /真的



事实上,是判断是不是基于构造函数,但基于原型链,如下面的例子

复制代码代码如下所示:

Var(富=函数){ };

原型= { };

无功fooinstance = { };

fooinstance __proto__ = foo.prototype;

console.log(fooinstance instanceof Foo); / /真的



使用原始值,不要使用构造函数。

哪些值是false的:false

但是请注意下面的例子

复制代码代码如下所示:

var =布尔(false);

var =新布尔();

如果(一){ console.log();} / /不能输出

如果(B){ console.log(B);} / /布尔{ { { primitivevalue } }:假}新的相当于一个对象,不假



以上理论文章比较强,但这些都是javascript语言的基础,我们一定要弄清楚。
推荐文章1
广告