JavaScript ラッパー型オブジェクトについて

巴扎黑
リリース: 2016-11-25 11:59:27
オリジナル
1015 人が閲覧しました

まず次のようなテスト コードをいくつか見て、そこからどのような問題が見つかるかを見てみましょう:

var str=”likeke”;

str;//”likeke”

str.length;//6

str .age=22 ;

str.age;//未定義;

var mystr=new String("likeke");

mystr;//String {0: "l", 1: "i", 2: "k"、3: "e"、4: "k"、5: "e"、長さ: 6、[[PrimitiveValue]]: "likeke"}

mystr.length;//6

mystr .age=22 ;

mystr.age;//22

最初の質問: なぜ基本型の文字列は長さ属性にアクセスできるのですか?

2 番目の質問: 文字列のラッパー型はカスタム属性にアクセスできますが、基本型はなぜ文字列にアクセスできないのでしょうか?

理由: 1. オブジェクトの形式で基本タイプの文字列属性にアクセスするか、その属性に新しい属性を作成すると、JS エンジンはそれを対応するパッケージ化タイプのオブジェクトに変換します

2. self を追加するとき- プロパティを定義した後、一時オブジェクトはすぐに破棄されます。したがって、このプロパティに再度アクセスすると (ラッピング型に再度変換されます)、 undefind として表示されます。

文字列に加えて、他の基本型にも同様の原則があります (例: (666).toString().length;//3


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