pretty_print(window)

33 отговора 0 прегледа
#1

pretty_print(window)

Как имплементираме балъшка версия на това на джаваскриптче?

Вграденият JSON.stringify по подразбиране се задавя и плюе ексепшън, но все пак може да се използва.

Без стак овърфлоу молим

I have sold less books on sex than Stephen Hawking has on physics -- Madonna
Отговор
в отговор на evlampi_popdimitrov #2

Re: pretty_print(window)

яка тема. видех гуглето кво вика, но явно в твитер немат много работа. аз бих се задоволил с това само сигурно

/**
* Pravi vsichko mesi bob farlia na zahar
* @param {Number} a
* @param {Number} b
* @return {Number} sum
*/
function ubavPrint(object, var, new Date(), undefined, exception, p@ssw0rd1) {
// tuka minavame prez vsi4ki obekti, na Ivan majka mu che eba az neshtastna me zanimava s gluposti
for (var property in object) {
try {
// NOTE, TODO, IMPORTANT, ATTENTION - console moje da go nema, no moje i da go ima
console.log(JSON.sringify(object[property]));
} catch (exception) {
// neshto gramna, no prodaljavame napred
console.log([property, " gramna na red 6 silno s gre6ka ", exception].join('PENIS'));
}
}
}

Ако е писано - може и да се задомя, но не на всяка цена.
Отговор
в отговор на evlampi_popdimitrov #3

Re: pretty_print(window)

Аз ползвам json.stringify. С кое не ти работи стрингифая ?

Отговор
в отговор на ThunderFuck #4

Re: pretty_print(window)

[линк]

Ако е писано - може и да се задомя, но не на всяка цена.
Отговор
в отговор на jeffty #5

Re: pretty_print(window)

E, аз някви прости лайна го ползвам. Дебъгерчето на хрома си е супер.

Отговор
в отговор на ThunderFuck #6

Re: pretty_print(window)

За джаваскриптче се слуша мастер Крокфорд, аз знам, че Евлампи го обича него. JSON2 се казва, слага се и оправя ако има нещо за оправяне

[линк]

--
One day it will make sense.
Отговор
в отговор на savoyclub-56458 #7

Re: pretty_print(window)

е тва не е ли официалния JSON де е по новите браузъри или бъркам нещо?

Ако е писано - може и да се задомя, но не на всяка цена.
Отговор
в отговор на jeffty #8

Re: pretty_print(window)

Не е ясно кой какво е имплементирал като stringify. Като се пипне и се нулира JSON.stringify и се добави json2 се оправя - ако имаш проблеми. Освен това добавя съпорт / фиксва бъгове на по-стари браузъри.

Но аз съм немал проблеми с вградените сериализатори / десериализатори (stringify) в браузърите, ама моите JSON-и дето си ги правя са супер опростени и не съм забивал в сложни случаи.

--
One day it will make sense.
Отговор
в отговор на savoyclub-56458 #9

Re: pretty_print(window)

новите, ИЕ8+ и другите, го имат вградено това де Ламби го спомена. не знам защо, но съм останал с впечетление, че е базирано на неговата имплементация. неговото е официалното-неофициално до колкото знам.

Ако е писано - може и да се задомя, но не на всяка цена.
Отговор
в отговор на jeffty #10

Re: pretty_print(window)

Не съм 100% сигурен, но сигурно някъде пише. Доста е вероятно да е преписване на C++ за скорост, да е оптимизирано, да е бъгфиксвано... не е ясно. Просто не ми се е налагало, но съм чел бая и там редовно някой като забие нулира JSON и добавя json2.js от Крокфорд. Гледам е пипано преди 10 месеца, явно и то се поддържа.

--
One day it will make sense.
Отговор
в отговор на savoyclub-56458 #11

Re: pretty_print(window)

Въобще държавните сериализатори / десериазатори сериозните програмисти нещо не ги тачат. И на сървърва в С# гледам 90% се ползва NewtonSoft.JSON вместо вградените неща.

--
One day it will make sense.
Отговор
в отговор на evlampi_popdimitrov #12

Re: pretty_print(window)

Не съм сигурен какво точно питаш.

Ако е дали може да се дъмпне обекта window някъде, то отговорът е НЕ, защото функцията, която ще го прави, също е част от обекта, съответно ще се отида на стак овърфлоу. Може само с нестендартни тулове, като конзоли например, защото те не са част от window. Не съм опитвал никога обаче да карам шаваскрипт да ЧЕТЕ от конзоли.

Ако въпросът ти е защо JSON.stringify понякога дропва, то отговорът е защото в обекта може да има символи, които не са utf-16. За да решиш този проблем, трябва да напишеш един малък скрипт, който първо да обхожда всички стрингове и да прави нещо от типа на:
mystring = mystring.split("").forEach(function(a, b) {
arr\[b\] = a.charCodeAt();
});
(Махни обратните слашове)
След това JSON.stringify ще бачка без грешка.

Отговор
в отговор на jeffty #13

Re: pretty_print(window)

Отличен стил.

Моя е по-скучен

I have sold less books on sex than Stephen Hawking has on physics -- Madonna
Отговор
в отговор на evlampi_popdimitrov #14

Re: pretty_print(window)

Добър си, добър си, радваш ме как пишеш.

--
One day it will make sense.
Отговор
в отговор на savoyclub-56458 #15

Re: pretty_print(window)

[линк]

не мога да немеря нещо бързо, а може и всеки енджин сам да си го имплементира. тоя гашник нали и той го има при него.

Ако е писано - може и да се задомя, но не на всяка цена.
Отговор
в отговор на croesus #16

Re: pretty_print(window)

Може, може, тая функция дето съм я постнал дъмпва майка си и баща си

I have sold less books on sex than Stephen Hawking has on physics -- Madonna
Отговор
в отговор на evlampi_popdimitrov #17

Re: pretty_print(window)

Е или само майка си или само баща си - който ги е мислил тоя тип дървета, е смятал един родител. Или са хермафродити, или са съвременно семейство - развод след 2-3 години и децата с по един родител.

Ама да кажим и бащата и децата си - ще сме коректни.

--
One day it will make sense.
Отговор
в отговор на evlampi_popdimitrov #18

Re: pretty_print(window)

е не, тва е неква мафия само ловиш грешката на нещо де не е направено за това. моето си върви и на ИЕ7.

Ако е писано - може и да се задомя, но не на всяка цена.
Отговор
в отговор на evlampi_popdimitrov #19

Re: pretty_print(window)

Браво, много умно си го измислил с клоужърите, обаче без charCodeAt все ще дропне на нещо. Довечера ще пробвам да измисля някой хак.

Отговор
в отговор на croesus #20

Re: pretty_print(window)

На бас, че не можеш да я счупиш

I have sold less books on sex than Stephen Hawking has on physics -- Madonna
Отговор