php から思い浮かぶいくつかの質問

WBOY
リリース: 2016-07-29 08:37:28
オリジナル
1173 人が閲覧しました

コードをコピーします コードは次のとおりです:


/* PHP code */
header("Content-type: text/javascript")
if (!haveCookie('cookieName); ')) {
// ... 何かをします
?>
/* Javascript コード */
if ('unknown' == typeof document.cookie['cookieName']) {
setCookie('cookieName', 3600) );
}
// ... Javascript で何かをする
}
?>


一見すると、コードは完璧に見えますが、親愛なる Xiao Ma がまだ問題を発見しました。 Javascript におけるその判断は常に true です

コードをコピーします コードは次のとおりです:


if ('unknown' == typeof document.cookie['cookieName']) {
// ...
}


このコードはPHP側での前提、つまり
if(!haveCookie('cookieName'))のときにクライアントに表示されるという前提があるからです。そして、この条件が満たされない場合、当然このコードはクライアントにスローされません。これを言うのは少し一般的だと思われるので、最初に Javascript コードを脇に置いて、単純に PHP コードを使用して説明しましょう

コードをコピーします コードは次のとおりです:


header("Content-type: text/javascript" ; たくさんありますが、問題は簡単に見つかります。これはクライアント側の Javascript によって実行されますが、うっかりもう 1 つ判断してしまいます。
要約すると、このコードから私が考えたナンセンスのいくつかがここにあります:
コードが長ければ長いほど、必ずしも効率が高くなるわけではありません
ロジックやプロセスに影響を与えずに、複数の判断をまとめて書いてみてください
複雑さはできるだけ低くする 関数は事前に判断します
過度の判断はプログラムの効率の低下につながりやすいため、判断に時間計算量の高い関数を使用する場合は特に注意してください
if が入れ子になりすぎている場合は、処理を再考する必要があります。アルゴリズム
過度の判断によって堅牢なコードは保証されません

コードを簡素化した後、多くの未発見の問題が発見されます
過剰な判断は、別の角度から理解すると、コードに対する自信の欠如です
最後に、Xiao Ma同志に改めて感謝します。

以上、内容面も含めてphp ifから気になる点を紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。


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