Super_Saimon

В чем разница при выполнении скрипта в jsfiddle & chromeDebug

Рекомендуемые сообщения

Добрый день! Имею вот такой самый простенький пример, но который загнал меня в тупик: https://jsfiddle.net/9n73ro76/  Разбирал работу указателя this. И сама суть вопроса в том, что в jsfiddle  результат undefinied, а в chrome искомое значение -  600 и undefinied. Я в упор не пойму в чем разница... Извиняюсь за столь примитивный вопрос, но пол дня потратил на понимание и силы уже иссякли на сей процесс))) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

возможно вам поможет https://jsfiddle.net/9n73ro76/1/ чтобы понять суть this, но вот почему через debгug работает именно так, тут я вам не подскажу. Возможно это из-за другого контекста выполнения скрипта. А вывод undefined в консоле - это то что возвращает ваша функция, если вы в нее добавите return, то будет выводить то, что вы напишете.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вы задаёте  в глобальном контексте var, соответственно записываете её непосредственно в window. То же самое что написать window.width = 600.  chrome отрабатывает ожидаемым образом, то есть возвращает 600, так как this тут ссылается на window.

В jsfiddle же используется immediately invoked function по этому переменная не записываться в глобальный контекст. Используйте этот паттерн, и получите ровно такой же результат в chrome
 

(finction(){
"use strict" 
//тут код
}());

 

 

Изменено пользователем andrey7287

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за пояснение и потраченное время! Странный какой-то пример в книге))) Заставил поломать голову)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: cyklop77
      ищу работу angular2-разработчика. пример лучшего кода здесь: https://github.com/zlodiak/ng2_answers_web
      контакты:
      email: kalinin.sergey.81@gmail.com
      skype: cyklop771
    • Автор: evgenia18
      Добрый день! 
      На данный момент прохожу обучение по веб-программированию, но уже сейчас хотело бы поработать с реальными проектами. 
      Знаю HTML, CSS, принципы адаптивной верстки, основы JavaScript и тд.
      Пример моей работы находится по адресу https://evgenia1991.github.io/
    • Автор: ErUnDAK
      Добрый день. Решил я по-экспериментировать над размерами экрана, и у меня вопрос: как сделать окно браузера размером, допустим, 100х60 или ещё меньше, если возможно?  Просто стоит ограничение, можно ли его снять?

Карта разработчиков

Карта участников

Отметь себя на карте для поиска или предложения работы