JavaScriptタイプエラー:不正な呼び出し



Javascript Type Error



この記事は以下から複製されています: http://www.cnblogs.com/meteoric_cry/archive/2011/04/24/2026582.html 著者:meteoric_cryが再現されました、ステートメントを示してください。

今日はとてもシンプルなページを書きました。ページでDOMを取得するために、次の表記法を使用しました。

DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
 <head>
 <title> new document title>
 <meta name='generator' content='editplus' />
 <meta name='author' content='' />
 <meta name='keywords' content='' />
 <meta name='description' content='' />
 <meta http-equiv='content-type' content='text/htmlcharset=utf-8' />
 head>
 
 <body>
 <div id='demo'>demodiv>
 <script type='text/ javascript '>
 1: 
 2: var d = document.getElementById
 3: 
 4: var s = d('demo').innerHTML
 5: 
 6: alert(s)
 7: 
脚本>>
 body>
html>

昨日は問題ないようで、IE6〜8で実行しても問題ありませんが、他のブラウザでエラーを報告し、次のようなエラーを報告しています。



キャッチされないTypeError:不正な呼び出し エラー :違法な呼び出し

当時はあまり気になりませんでした。その時、私は何が起こっているのかを注意深く理解していませんでした。それからWeiboにメッセージを送ってレコードを作りました。食事を終えて戻ってきたとき、taiboからブロードキャストされた返信があり、その理由が説明されていました。呼び出し/適用コンテキストが違法である場合、この例外がスローされ、IE9もこの仕様を順守します。以下は、このエラーの報告を回避できる例です。私はあまり注意を払わなかったので、彼は参照を送信しました



'.call'または '.bind'を使用せずに関数ポインタを使用してメソッドを呼び出す

それを読んだ後、私は本当にリラックスしました。 IE9および非IE(Chromeなど)ブラウザーでの上記の単語は次のようになります。