Tujuannya adalah untuk menulis program yang akan menghasilkan kata yang tidak terduga
Saya tidak membaca masa lalu itu. Saya memiliki masalah serius dengan membaca bagian yang panjang (dan pesan kesalahan).
Saya memutuskan untuk membuat program sederhana yang mengingatkan "5". Sayangnya, sepertinya saya tidak bisa membuatnya bekerja.
(function () {
"use strict";
function logError(e) {
// I have a serious issue with reading long error messages
// I'll just print the first word of the error and figure out what it means
console.log(e.message.split(" ")[0]);
}
// Useful assert method for debugging
function assert(value, message) {
if (value === false) {
throw new Error(message);
}
}
// Sets a varaible "a" to 5 and alerts it
try {
// Try it the old fashioned way
a = 5;
alert(a);
} catch (e) {
logError(e);
// In some legacy browsers, that might now work
// because alert requires a string
try {
// create objA which has a method "word", which always returns a word, or a string
var objA = {
word: function () {
return new String(5);
}
};
// Make sure it is a string
assert(typeof objA.word() === "string", "word didn't return a string");
alert(objA.word());
} catch (e) {
logError(e);
// Some browsers, such as chrome, just won't work
// It's time to be evil and force them to work!
try {
eval("a = 5" +
"alert(a)");
} catch (e) {
logError(e);
}
}
}
})();
Diuji di konsol google chrome. Ini menghasilkan (secara harfiah) sebuah kata yang tidak terduga .
http://jsfiddle.net/prankol57/Af4sH/
(Untuk jsfiddle, Anda harus membuka konsol Anda, tidak akan ada output html)