ホームページ ウェブフロントエンド jsチュートリアル eval が function_javascript スキルに遭遇したときの IE の処理

eval が function_javascript スキルに遭遇したときの IE の処理

May 16, 2016 pm 06:03 PM
eval function

ケース 1: eval に関数がないため、直接実行します:
eval("alert('ss');");//すべてのブラウザは
を正しく出力します ケース 2: eval に関数があり、関数はすぐに実行されます:
eval("(function(){alert('ss');})();");//すべてのブラウザは正しく出力します
ケース 3: eval に関数があります、変数を使用して関数参照を保存し、この関数を呼び出します:
var f=eval("(function(){alert('ss');})"); IE でレポート: オブジェクトが見つかりません。他のブラウザは正常です
eval で関数を定義し、それを変数に返すと、IE はエラー: オブジェクトが見つかりません をレポートします。 IE の eval で定義された関数が eval の外部に正常に返せないことがわかります。

解決策: 関数オブジェクトを実行結果として返します:

方法 1:

var f=eval("(function(){ return function(){alert ( 'ss');}})()");
f();//すべてのブラウザは、すぐに実行される関数を呼び出すための
eval を正しく出力します。関数が実行された後、関数オブジェクトが返されます。 . これは、関数オブジェクトの参照が外部変数に正常に返された場合です。

方法 2:

var f=eval("(false||function(){alert('ss');})");
f();//すべてのブラウザは
を正常に出力します。このメソッドは jquery でも使用されており、この関数は or 式の実行結果として返されます。これにより、問題も正常に解決されます。もちろん、式は上記の false||function(){} に限定されません。関数:

/* および式: */
を正常に返すことができる限り、さまざまな式が問題を解決できます。 var f=eval("(true&&function(){alert('ss');})");
f();//すべてのブラウザは正常に出力します

/* 三項式 :*/
var f=eval("(true?function(){alert('ss');}:'');");
f();//すべてのブラウザは正常に出力します

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

機能とはどういう意味ですか? 機能とはどういう意味ですか? Aug 04, 2023 am 10:33 AM

ファンクションとは、関数を意味します。これは、特定の関数を備えた再利用可能なコード ブロックです。プログラムの基本コンポーネントの 1 つです。入力パラメータを受け取り、特定の操作を実行し、結果を返すことができます。その目的は、再利用可能なコード ブロックをカプセル化することです。コードの再利用性と保守性を向上させるコード。

Pythonのevalとはどういう意味ですか? Pythonのevalとはどういう意味ですか? May 22, 2019 pm 03:18 PM

eval は「評価」を意味し、文字列式を実行してその式の計算結果を返すために使用される Python の組み込み関数です。つまり、変数を代入する場合、等号の右側の表現は次のようになります。文字列形式で記述され、戻り値はこの式の結果です。構文「eval(expression[, globals[, locals]])」。

Win環境でphpのevalを無効にする方法 Win環境でphpのevalを無効にする方法 Oct 31, 2022 am 09:33 AM

Win 環境で PHP の eval を無効にする方法: 1. 「PHP_diseval_extension」をダウンロードします; 2. サーバーが現在使用している PHP を見つけます; 3. PHP 構成ファイルを開きます; 4. 「extension=diseval.so」コードを追加します; 5.サービスを再起動します。

Python の「enumerate()」関数の目的は何ですか? Python の「enumerate()」関数の目的は何ですか? Sep 01, 2023 am 11:29 AM

この記事では、Python の enumerate() 関数と「enumerate()」関数の目的について学びます。 enumerate() 関数とは何ですか? Python の enumerate() 関数は、データ コレクションをパラメータとして受け取り、列挙オブジェクトを返します。列挙オブジェクトはキーと値のペアとして返されます。キーは各項目に対応するインデックス、値は項目です。構文 enumerate(iterable,start) パラメータ iterable - 渡されたデータ コレクションは、iterablestart と呼ばれる列挙オブジェクトとして返すことができます。 - 名前が示すように、列挙オブジェクトの開始インデックスは start によって定義されます。無視したら

MySQL.procテーブルの役割と機能の詳しい説明 MySQL.procテーブルの役割と機能の詳しい説明 Mar 16, 2024 am 09:03 AM

MySQL.proc テーブルの役割と機能の詳細な説明。MySQL は人気のあるリレーショナル データベース管理システムです。開発者が MySQL を使用する場合、多くの場合、ストアド プロシージャ (StoredProcedure) の作成と管理が必要になります。 MySQL.proc テーブルは非常に重要なシステム テーブルであり、ストアド プロシージャの名前、定義、パラメータなど、データベース内のすべてのストアド プロシージャに関連する情報が保存されます。この記事では、MySQL.proc テーブルの役割と機能について詳しく説明します。

Pythonでのevalの使い方を簡単に解説 Pythonでのevalの使い方を簡単に解説 Mar 25, 2024 pm 02:08 PM

Python では、eval() 関数を使用して文字列式を実行し、その結果を返します。式を含む文字列をパラメータとして受け取り、その式を評価します。 eval() 関数は強力ですが、文字列に含まれる有効な Python 式を実行することに注意してください。そのため、セキュリティの脆弱性を防ぐために、この関数を使用する場合は外部入力文字列を受け入れないようにする必要があります。

Vue.use関数の使い方と機能 Vue.use関数の使い方と機能 Jul 24, 2023 pm 06:09 PM

Vue の使い方と機能.use Function Vue は、多くの便利な機能を提供する人気のフロントエンド フレームワークです。その 1 つは Vue.use 関数で、これを使用すると Vue アプリケーションでプラグインを使用できるようになります。この記事では、Vue.use 関数の使い方と機能を紹介し、いくつかのコード例を示します。 Vue.use 関数の基本的な使用法は非常に簡単です。Vue がインスタンス化される前に関数を呼び出し、使用するプラグインをパラメータとして渡すだけです。簡単な例を次に示します。 // プラグインの導入と使用

PHPのclearstatcache()関数 PHPのclearstatcache()関数 Sep 07, 2023 am 09:33 AM

clearstatcache() 関数は、ファイル ステータス キャッシュをクリアするために使用されます。 PHP は、次の関数によって返された情報をキャッシュします。 -stat()lstat()file_exists()is_writable()is_readable()is_executable()is_file()is_dir()filegroup()fileowner()filesize()filetype()fileperms()より良いパフォーマンスを提供するため。構文 voidclearstatecache() パラメータ NA 戻り値 clearstatcache(

See all articles