Нераспределенное пространство от Windows 7 до Ubuntu

Crockford сделал много для популяризации хороших методов JavaScript. Его самоуверенная позиция по основным элементам языка зажгла много полезных обсуждений. Однако существует слишком много людей, которые берут каждое провозглашение "плохих" или "вредных" как евангелие, отказываясь на время забыть мнение одного человека. Это может время от времени быть немного печально.

Использование функциональности, обеспеченной new, ключевое слово имеет несколько преимуществ перед созданием каждого объекта с нуля:

  1. наследование Прототипа . В то время как часто смотрится на с соединением подозрения и высмеивания приученными к основанным на классах языкам OO, собственный метод наследования JavaScript является простым и удивительно эффективным средством повторного использования кода. И новое ключевое слово является каноническим (и только доступный межплатформенный) средства использования его.
  2. Производительность. Это - побочный эффект № 1: если я хочу добавить 10 методов к каждому объекту, я создаю, я мог просто записать функцию создания, которая вручную присваивает каждый метод каждому новому объекту... Или, я мог присвоить их функции создания prototype и использование new для искоренения новых объектов. Не только это быстрее (никакой код, необходимый для каждого метода на прототипе), это старается не увеличиваться каждый объект с раздельным имуществом для каждого метода. На более медленных машинах (или особенно, медленнее интерпретаторы JS), когда много объектов создаются, это может означать значительные сбережения вовремя и память.

И да, new имеет один решающий недостаток, успешно описанный другими ответами: если Вы забудете использовать его, Ваш код повредится без предупреждения. К счастью, тот недостаток легко смягчен - просто добавляют немного кода к самой функции:

function foo()
{
   // if user accidentally omits the new keyword, this will 
   // silently correct the problem...
   if ( !(this instanceof foo) )
      return new foo();

   // constructor logic follows...
}

Теперь у Вас могут быть преимущества new, не имея необходимость волноваться о проблемах, вызванных случайно неправильным употреблением. Вы могли даже добавить утверждение к проверке если мысль о поврежденном коде, тихо работающем беспокойства Вы. Или, как [приблизительно 119] прокомментировали, используйте проверку для представления исключения на этапе выполнения:

if ( !(this instanceof arguments.callee) ) 
   throw new Error("Constructor called as a function");

(Отмечают, что этот отрывок в состоянии избежать жесткого кодирования имя функции конструктора, как в отличие от предыдущего примера, это не имеет никакой потребности на самом деле инстанцировать объекта - поэтому, это может быть скопировано в каждую целевую функцию без модификации.)

John Resig вдается в подробности об этой технике в его Простое Инстанцирование "Класса" сообщение, а также включая средство встраивания этого поведения в Ваши "классы" по умолчанию. Определенно стоящий чтения..., как его предстоящая книга, Секреты Ниндзя JavaScript , который находит спрятанным золото в этом и многих других "вредных" функциях языка сценариев JavaScript ( глава по with особенно поучительна для тех из нас, кто первоначально отклонил эту очень порочившую функцию как трюк).

1
задан 13.05.2020, 02:18

2 ответа

Можно переместить раздел Windows /dev/sda2 налево от одной из установок или живого диска. Можно хотеть сделать это из диспетчера дисков Windows, если он имеет загрузчик Windows в.

Тогда можно расшириться /dev/sda3 и затем /dev/sda5 налево от живого диска.

1
ответ дан 13.05.2020, 02:19
  1. Первый открывают Gparted.
  2. Теперь размонтировали раздел, которого Вы хотите изменить размеры.
  3. Щелчок правой кнопкой по партону и выбору изменяет размеры.
  4. всплывающее окно А с тем разделом появится.
  5. Теперь перетаскивают прямоугольную сторону в освобожденное пространство. 6. Нажать ОК.
1
ответ дан 13.05.2020, 02:19
  • 1
    Извините за не замечать одну вещь, которая освободила пространство, не смежно с /dev/sda3 и Вы can' t изменяют размеры, это, непока не освобождено не между/dev/sda2 и/dev/sda3. Так попытайтесь сделать пространство между ними и затем изменить размеры его. Вот хорошее учебное руководство, которое было бы справкой, полной для Вас. howtogeek.com/114503/how-to-resize-your-ubuntu-partitions – Brian White 13.05.2020, 02:20
  • 2
    Я загрузился в живом режиме и размонтировал/dev/sda3, но я все еще не могу изменить размеры его с освобожденным пространством. – Mark Simpson 13.05.2020, 02:20
  • 3
    Проблема с этим - Вы can' t размонтировали разделы, система убегает - т.е. /dev/sda3 & /dev/sda5, возможно /dev/sda6. – nloewen 13.05.2020, 02:20
  • 4
    Тогда начальная загрузка в живом режиме с помощью диска человечности или usb. – guilhermecgs 13.05.2020, 02:21

Теги

Похожие вопросы