English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
式と文
eval()はパラメータが1つだけです。
パラメータが文字列でない場合、そのパラメータをそのまま返します。
パラメータが文字列の場合、それをJavaScriptコードとしてコンパイルします。コンパイルが失敗するとシンタックスエラーが投げられ、成功すると最後の文の値が実行され、値がなければundefinedが返されます。
eval()は呼び出し元の変数のスコープ環境を使用します。
受け取る文字列パラメータは、独立したコードとして有効でなければなりません。そうでないとコンパイルが失敗します。
delete演算子:オブジェクトの自由属性や配列の要素を削除するために使われます。
属性を削除すると、属性は存在しなくなりますが、配列の要素を削除すると、undefinedの値を持つ穴が配列内に残り、配列の長さは変更されません。
削除できない属性を削除しようとするとfalseが返されますが、削除が成功した場合や削除操作が効果がない場合もtrueが返されます。
deleteで削除できない:
1、内蔵の核心属性やクライアント属性も削除できません。
2、var文で宣言された変数も削除できません。
3、function文で定義された関数や関数の引数も削除できません。
4、設定不可の属性は削除できません。
void演算子:操作数は通常通り実行されますが、操作数の値は無視されundefinedが返されます。
voidには以下のような作用があります:
* void 0を用いるundefinedを取得することは、文字列のundefinedを使用するよりも信頼性が高く、安全です。
* <a>のhrefを埋め込むことで、クリック時にページ遷移が発生しないようにします;<image>のsrcを埋め込むことで、サーバーに不要なリクエストが送信されないようにします。href='javascript:void(0);'
break文がタグを持っていてもなくても、制御権は関数の境界を越えることができません!つまり、関数内部から関数外部にジャンプすることはできません
Object.create( p , [x] )
このメソッドは、オブジェクトpがプロトタイプの新しいオブジェクトを作成し、それを返します。オプションのxは、オブジェクト属性の追加説明として使用されます;
var p1 = Object.create(p); //新しいオブジェクトpを新しいオブジェクトp1、それはオブジェクトp(pがプロトタイプ)から継承されています
つまりp1のprototype(プロトタイプ)属性の値はp
P.xとP['x']の違い:
P.xをアクセスするときは、属性名がxの属性に固定してアクセスできます;
一方でP['x']は柔軟で、[ ]内の文字列の値を動的に変更して異なる属性にアクセスできます、例えばP['x'+i]
論理演算子“&&”、“||”の利点:ショートカット行動
&&を使って、length属性を読み取る前にbookとbook.subtitleが真の値で、すなわちオブジェクトであることを保証します
var len = book && book.subtitle && book.subtitle.length;
xの値は:aからfまでの最初の真の値が、後の真の値を無視して取得されます
var x = a || b || c || d || e || f;
if( ! buy){...} buyが偽の値の場合、{...}を実行します
!!xを使って等価なブール値を取得します
これで、編集者が皆さんに提供したJavaScript学習ノートの整理_表現と文に関するすべての内容が終わりました。皆さんの助けがあれば幸いです、ナイアガラチュートリアルを応援してください~