Можно использовать ClientID
(точно так же, как все остальные сказали), но проблема с тем, который является, что она не может использоваться во внешнем Файле JavaScript.
Так, идеально, вместо того, чтобы использовать идентификатор для ссылки на него из jQuery, используют класс CSS:
<asp:Label ID="Label1" runat="server" Text="test" CssClass="myclass"></asp:Label>
Затем можно сослаться на него как такой:
$(".myclass")
Да. Программа, которая может копировать себя, называется "quine".
Основная идея большинства quine:
Вы пишете код, который принимает строковый литерал s
и печатает его, в то время как заменяя вхождения (или вхождение ) специальной подстроки foo в s
значением s
самого.
Вы берете весь исходный код программы и используйте его как определение для s
. но вы исключаете определение s
из строки , вместо этого заменяя его на foo .
Это общая идея. Остальное - это детали форматирования строк.
Он называется quine , и есть сайт , который собирает их .
Это называется Куайн :
Куайн - это компьютерная программа, которая не принимает никаких входных данных и производит копию собственного исходного кода в качестве единственного выхода. Стандартные термины для этих программ в теории вычислимости и литературе по информатике - это самовоспроизводящиеся программы, самовоспроизводящиеся программы и самокопирующие программы.
Quine - это фиксированная точка среды выполнения, когда среда выполнения рассматривается как функция. Куайнс возможен на любом полном языке программирования Тьюринга как прямое следствие теоремы Клини о рекурсии. Для развлечения программисты иногда пытаются разработать кратчайший из возможных quine на любом заданном языке программирования.
Источник: Wikipedia
Это действительно классический вопрос!
Помимо существования конкретных quines , важным результатом теории вычислимости является то, что для любая функция вы можете захотеть вычислить, существует программа, которая «знает свой собственный программный текст», то есть может распечатать себя при желании. Эта теорема называется второй теоремой рекурсии Клини .
Если вы пишете quine, будьте осторожны, чтобы копии не записывали копии самих себя до бесконечности и в конечном итоге захватили мир.
Я предполагаю, что вы разрешаете интерпретируемые языки. (На каком-то уровне интерпретируются все языки.) Кто-то пишет интерпретатор, и если вы его пишете, вы можете добавить к нему любые встроенные функции, которые вам нравятся, например, функцию (lispy) (foo)
, который ничего не делает, кроме print « (foo)
».
Или вы можете добавить более сложную функцию типа макроса (printMeAndMyArgs ...)
.
Итак весь фокус в том, как вы определяете проблему.
In the language invented by Jon Skeet the following operator prints "Hello, world!\n".
h
I can make a modification of this language so that the following program prints "Hello, world!\n":
Hello, world!
So that's the program that prints itself.
Oh, you feel something strange about it, while it has a precise and correct mathematical definition? That's your problem. "I won't accept..." ha! Mathematics does accept, and she's the mistress I serve, so I post this answer.
«Введение в теорию вычислений» Майкла Сипсера объясняет в одной из глав, как построить квайн. Недавно я написал программу на Java, основанную на этой идее, и разместил ее по адресу: http://bornagainprogrammer.net/2009/11/07/hello-world-from-the-tm-self/
I ' Я предлагаю вам взять эту книгу и попробовать реализовать программу на вашем любимом языке. В этой книге есть много других забавных теорем.
-kiran