- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
function isProperty(object, property) {
"use strict";
var p, names, original = object,
ecmaTypes = [Object, Array, String, Number, Date];
try {
for (p = 0; p < ecmaTypes.length; p += 1) {
if (ecmaTypes[p] == object) {
console.log("looking up: " + ecmaTypes[p]);
names = Object.getOwnPropertyNames(ecmaTypes[p]);
if ('prototype' in ecmaTypes[p]) {
names = names.concat(
Object.getOwnPropertyNames(
ecmaTypes[p].prototype));
}
break;
}
}
do {
object = object.prototype.__proto__.constructor;
names = names ?
names.concat(Object.getOwnPropertyNames(object)) : [];
if ('prototype' in object) {
names = names.concat(
Object.getOwnPropertyNames(object.prototype))
}
} while (object != Object)
if (!names) {
names = Object.getOwnPropertyNames(object);
}
} catch (error) {
for (p in object) {
if (object[p] == property) {
return true;
}
}
return false
}
for (p = 0; p < names.length; p += 1) {
if (original[names[p]] == property ||
original.prototype[names[p]] == property) {
return true;
}
}
return false;
}
А как еще узнать, является ли функция методом принадлежащим объекту или нет? Это еще после трех часов проведенных в муках пытаясь понять, что вообще происходит.
Nemoden 10.10.2012 09:12 # +2
wvxvw 10.10.2012 12:45 # 0
В ES3 достаточно было просто перебрать все ключи объекта и сравнить, типа:
А теперь вот улучшили.
Elvenfighter 10.10.2012 20:41 # +1
Это что за Perl такой?
WGH 10.10.2012 20:42 # 0
wvxvw 10.10.2012 21:30 # 0
scriptin 11.10.2012 00:07 # +3
У меня еще где-то должен лежать старый диск с Prompt'ом
wvxvw 11.10.2012 00:49 # 0
Nemoden 11.10.2012 04:14 # 0
вот тебе не нужны генераторы и list comprehensions, а мне очень нужны, лично я с нетерпением жду ECMAScript6.
Я за функциональщину в JS.
http://brendaneich.github.com/Strange-Loop-2012/
wvxvw 11.10.2012 13:28 # −1
Всякие фокусы типа тут сэкономить одну букву, там две - ни на что абсолютно не влияют, и только в целом ухудшают то самое "понимание", т.как приводят к тому, что есть несколько способов сделать одно и то же, и, как результат, нужно заучивать больше ненужной херни. Но как в небезызвестном "интервью" со Страуструпом - чем херовее язык (чем тяжелее запомнить все возможные извращения в грамматике), тем больше шансов на элитарность.
А Б. Ейк - идиот тот еще. Его просто лучше не читать и не обращать внимания. А еще лучше - не использовать Яваскрипт вообще :)
roman-kashitsyn 11.10.2012 13:37 # +1
Когда это у нас c++ успел стать илитарным
wvxvw 11.10.2012 14:23 # +1
roman-kashitsyn 11.10.2012 15:13 # +3
> Java: write once, run away!
> Java is a DSL to transform big XML documents into long exception stack traces.
я плакал
3.14159265 11.10.2012 15:59 # +1
Самая суть. Просто в точку.
Кстати, по поводу элитарности:
http://pichub.ru/pic_b/12/10/11/ff807482be639cd171b6de1f299c79bd.jpg
bormand 11.10.2012 18:58 # +2
Nemoden 12.10.2012 04:17 # 0
3.14159265 12.10.2012 15:43 # +2
По сравнению с жабой - божественные языки.
The definition of Hell is working with dates in Java, JDBC, and Oracle.
wvxvw
Спасибо. Я джва года ждал такой сайт где весело поливают говном всех и вся.
wvxvw 12.10.2012 18:03 # 0
3.14159265 12.10.2012 18:06 # 0
http://wiki.theory.org/YourLanguageSucks
Но harmful.cat-v.org как-то душевней.
scriptin 03.01.2013 17:10 # 0
http://www.stroustrup.com/bs_faq.html#really-say-that (под заголовком "Did you really give an interview to IEEE?")
Вот настоящее интервью:
http://www.stroustrup.com/ieee_interview.html
roman-kashitsyn 04.01.2013 20:00 # +2
> "I think we should look for elegance in the applications built, rather than in the languages themselves"
Этот совет Страуструп посвятил бы @LispGovno. Красоту следует искать не в языках, а в дизайне приложений.
Мне это напоминает ситуацию с музыкой: есть довольно много форм и музыкальных приёмов (модуляции, синкопы, нюансы, смены размеров, полифония, тысячи их). Но это не значит, что хотя бы одним из них можно украсить произведение мастера. Просто собрав их всё вместе, не получить шедевра.
Базовые приёмы и умелая рука мастера способны на гораздо бОльшие свершения, чем школьник с миллионом свистелкоперделок.
bormand 04.01.2013 20:19 # 0
Цып-цып-цып, цыплятки.
> Красоту следует искать не в языках, а в дизайне приложений.
Ну не все так просто. Некоторые языки из-за своего убогого дизайна просто сподвигают программистов писать говно...
roman-kashitsyn 04.01.2013 20:28 # 0
3.14159265 04.01.2013 20:25 # +1
Но он не родит ничего хорошего - как обезьяна с печатной машинкой.
Максимум на что он способен - лазить вконтакте и мейлру, смотреть камеди клаб и наркомана павлика, слушать гуфа и ак-47.
3.14159265 04.01.2013 20:38 # +2
Вот пример: шахматы на 1К от Оскара Толедо.
Гумно на хацкиле такого в жизни не сделает, потому что основной инструмент тут не язык, не процессор, а как ни странно голова.
scriptin 31.01.2013 18:20 # +1
Думаю, что не посвятил бы
Vasiliy 11.10.2012 13:37 # 0
Я только за. Но более использовать то нечего Vbscript не в счет.
wvxvw 11.10.2012 14:30 # 0