Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.08.2015, 08:54
Аспирант
Посмотреть профиль Найти все сообщения от fuckYankee
 
Регистрация: 30.08.2015
Сообщений: 29

что означает $(this)?
Какая то таинственная конструкция с тайным смыслом. По идее
<html>
<head>
</head>
<body>
<script>


$=function(arg){alert(arg)}
$(this)



</script>
</body>
</html>

это всегда window. Получается, что jq берет в качестве текущего контекста, тот контекст, который и так доступен дефолтно. Тогда зачем это?
Ответить с цитированием
  #2 (permalink)  
Старый 30.08.2015, 09:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от fuckYankee
это всегда window.
ой
Сообщение от fuckYankee
Получается, что jq берет в качестве текущего контекста, тот контекст, который и так доступен дефолтно.
ещё ой
this в jQuery чаще всего элемент/ы - конструкцией $(this) его превращают в обьект с нужными свойствами.
Вам действительно интересно? или вам нравится создавать темы?
Ответить с цитированием
  #3 (permalink)  
Старый 30.08.2015, 09:52
Аспирант
Посмотреть профиль Найти все сообщения от fuckYankee
 
Регистрация: 30.08.2015
Сообщений: 29

Да, мне интересно, *действительно*
Сообщение от рони
конструкцией $(this)
это просто ф-ция.
Сообщение от рони
его превращают в обьект с нужными свойствами.
как можно превратить window в *обьект с нужными свойствами*? Для этого надо с бубном возле него побегать?
Ответить с цитированием
  #4 (permalink)  
Старый 30.08.2015, 10:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от fuckYankee
как можно превратить window
так это в вашей вселенной
Сообщение от fuckYankee
window
а моей
Сообщение от рони
элемент/ы
вот вам и требутся
Сообщение от fuckYankee
с бубном возле него побегать
Ответить с цитированием
  #5 (permalink)  
Старый 30.08.2015, 10:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от fuckYankee
как можно превратить window в *обьект с нужными свойствами*? Для этого надо с бубном возле него побегать?
alert($(window).width())
Ответить с цитированием
  #6 (permalink)  
Старый 30.08.2015, 10:46
Аспирант
Посмотреть профиль Найти все сообщения от fuckYankee
 
Регистрация: 30.08.2015
Сообщений: 29

рони,
покажите пожалуйста в коде, как в вашей вселенной это происходит. Единственно возможный случай, когда так будет -- это если вы пишите код прямо в html
<script>
f=function(env){alert(env)}
</script>
<p onclick="f(this)">foo</p>

Вы можете показать другой случай?
Ответить с цитированием
  #7 (permalink)  
Старый 30.08.2015, 10:54
Аспирант
Посмотреть профиль Найти все сообщения от fuckYankee
 
Регистрация: 30.08.2015
Сообщений: 29

laimas,
Да я понял смысл, спасибо. Ну надо же, какая глупость, однако
Ответить с цитированием
  #8 (permalink)  
Старый 30.08.2015, 10:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от fuckYankee
Вы ничего там не превратили, что взяли то и отдали, внутри функции сформировался jq-объект
Ну если вас терзает вопрос о свойствах, а не то, что в JQ можно и $(window), то зачем же что-то "превращать", они и так доступны?

Сообщение от fuckYankee
Единственно возможный случай, когда так будет...
Не обязательно явно, можно и:

<p id="as">ttt</p>

<script> 
    var e = document.getElementById('as');
    e.onclick = function() {
        alert(this.id)
    }
</script>
Ответить с цитированием
  #9 (permalink)  
Старый 30.08.2015, 10:57
Аспирант
Посмотреть профиль Найти все сообщения от fuckYankee
 
Регистрация: 30.08.2015
Сообщений: 29

laimas,
Глупость в том, я имею в виду, что каждый раз формируется новый объект, засирая тем самым память и сажая производительность, тогда как он мог бы также быть дефолтным внутри либы. Хотя он скорей всего кэшируется, но все равно бред, сложность на пустом месте, и неочевидный код в итоге. Ребусы, мля.

Последний раз редактировалось fuckYankee, 30.08.2015 в 11:00.
Ответить с цитированием
  #10 (permalink)  
Старый 30.08.2015, 10:58
Аспирант
Посмотреть профиль Найти все сообщения от fuckYankee
 
Регистрация: 30.08.2015
Сообщений: 29

Сообщение от laimas
можно и:
Нет, это несколько другое. Это примерно myFunc.call(theObject), обычное поведение. Речь шла именно о явной передаче.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Развитие стандарта HTML Paguo-86PK Элементы интерфейса 104 14.12.2015 21:58
помогите, что означает firstChild Dron13 Events/DOM/Window 1 15.01.2011 11:57
Как (эффективно) изучать JavaScript? JSTalker Общие вопросы Javascript 33 23.12.2010 03:13
Что означает такой вызов? ksa jQuery 0 21.12.2010 13:45
Zend и Pear для нуба mycoding Серверные языки и технологии 52 13.12.2010 18:32