ホームページ > ウェブフロントエンド > jsチュートリアル > javascript_javascript スキルでの typeof 演算子と constucor 属性の検出

javascript_javascript スキルでの typeof 演算子と constucor 属性の検出

WBOY
リリース: 2016-05-16 16:12:52
オリジナル
1194 人が閲覧しました

*#type.js

复制代 代码如下:

関数 人物(名前, 年齢) {
 this.name = 名前;
 this.age = 年齢;
}
var d = {an: 'オブジェクト'};
var a = ['リンゴ', 'バナナ'];
var f = function() {};
var s = 'デビッド';
var n = 33;
var b = true;
var o = 新しいオブジェクト();
var person = 新しい人('マーク', 22);
console.log(typeof(d) ': ' d.constructor);
console.log(typeof(a) ': ' a.constructor);
console.log(typeof(f) ': ' f.constructor);
console.log(typeof(s) ': ' s.constructor);
console.log(typeof(n) ': ' n.constructor);
console.log(typeof(b) ': ' b.constructor);
console.log(typeof(o) ': ' o.constructor);
console.log(typeof(person) ': ' person.constructor);

运行$node type.js取得

复制代 代码如下:

オブジェクト: function Object() { [ネイティブ コード] }
オブジェクト: function Array() { [ネイティブ コード] }
関数: function Function() { [ネイティブコード] }
string: function String() { [ネイティブ コード] }
数値: 関数 Number() { [ネイティブ コード] }
boolean: function Boolean() { [ネイティブ コード] }
オブジェクト: function Object() { [ネイティブ コード] }
オブジェクト: function Person() { [ネイティブ コード] }

わかりますが、typeof 演算子とコンストラクターのプロパティ检测オブジェクト タイプの戻り値には差分が存在します。

結果变量が数組である場合、オブジェクトのタイプはオブジェクトを返し、コンストラクターのプロパティは配列を返します;
变量が構造関数数オブジェクトの場合、操作子タイプがオブジェクトを返し、コンストラクターのプロパティが構造関数数を返します
すべての变量都はその construcor プロパティを持ち、このプロパティは、このオブジェクトがどのようなタイプであるかというオブジェクトを提供します。 さらに、コンストラクターのプロパティは、オブジェクトを指向する構造関数を保持しており、独自に定義されているわけではなく、オリジナルの型のオブジェクトです。

一点必要な注意事項があります、異なる浏览器对typeofoperator检测正则表达式会有所以異、IE と Firefox 会は 'object' を返します。

よろしくお願いします。今日の内容はここにあります。ちょっとした懸念があるため、下に保存されています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート