Введение
Мы все знаем, что типы данных JavaScript разделены на две категории: основные типы (или примитивные типы) и ссылочные типы.
Значения основных типов - это простые сегменты данных, хранящихся в памяти стека, и к ним доступны по значению. В JS есть пять основных типов: неопределенные, нулевые, логические, число и строка.
Значение типа ссылки - это объект, хранящийся в памяти кучи, и его значение доступно по ссылке. Справочные типы в основном являются объектом, массивом, функцией, повторной эксплуатацией и датой.
У объектов есть свойства и методы, поэтому неудивительно, что мы видим следующий код.
var favs = ['egg', 'lotus pot']; favs.push ('horcra'); console.log (favs); // ["Egg", "lotus pot", "obra"] console.log (favs.length); // 3Массив является эталонным типом, поэтому он может иметь атрибуты (длина) и методы (push), которые естественны, например, есть мороженое летом. Но, посмотрите на следующий код и внимательно подумайте об этом, это, это, законно?
var Realmessage = "сказал, что я люблю тебя, но я лгал"; var mymessage = realmessage.substring (5,15); console.log (mymessage); //"Я тебя люблю"
Существует разбитая горем девушка, которая выполнит метод «подстроения», умышленно выполняющий метод «подстроения» на струне, используемой для распада, а затем с радостью наблюдать за выходом и засыпанием. Но, разве не сказано, что строка является основным типом? Почему у него могут быть методы? ? Есть ли другой королевский закон, Мастер Цинтиан!
На самом деле, все это из -за того, что называется «базовый тип упаковки». Этот базовый тип упаковки особенно честен, и это настоящий «возвращение одежды после этого, скрывая достоинства и славу»!
Основной тип упаковки
В дополнение к ссылкам, таким как объект и массив, упомянутые в начале, JavaScript также предоставляет нам три специальных типа ссылок: String, Number и Boolean, что облегчает нас управлять соответствующими основными типами.
Продолжайте смотреть на приведенный выше пример отсечения струн. Вы заметили, что, несмотря на использование метода подстроения, значение самого Realmessage не изменится. Вызов этого метода возвращает только новую строку.
Это то, что делает базовый тип упаковки. Первоначально у вас нет метода, но когда вы хотите его использовать, вы можете просто настроить его, и соответствующий базовый тип упаковки имеет этот метод. Например, приведенный выше метод подстроения, базовый тип строки имеет этот метод, но тип упаковки строки имеет его, он прошептает и вернет результат после выполнения этого метода. При исполнении:
Многие вещи произошли, когда эта линия кода.
Во -первых, он будет читать значение Realmessage из памяти. В этом режиме чтения фон начинает работать. JS Heelation описывает эти действия, завершенные на заднем плане, как это:
1. Создать экземпляр типа строки;
2. Вызовите указанный метод на экземпляре;
3. уничтожить этот экземпляр
Приведенный выше пример можно объяснить в коде, как это:
var _RealMessage = new String ("Сказал, что я люблю тебя, но я лишал"); var myMessage = _RealMessage.substring (5,15); _ realmessgae = null; // уничтожить после того, как метод вызванТаким образом, таким образом мы понимаем, что это не то, что строка базового типа выполняет свой собственный метод, но фон создает соответствующую строку базового типа обертки для него. Он создает экземпляр, основанный на значении основного типа, позволяя этому экземпляру вызову указанный метод и, наконец, уничтожить себя, который движется.
Обратите внимание на функцию «уничтожить» последнего шага основного типа обертки, который определяет, что мы не можем добавить пользовательские свойства и методы к значениям основного типа.
var me = "sunjing"; me.age = 18; console.log (me.age); // не определен
Я добавил возрастной атрибут к строке «я», и значение будет красиво 18 лет. Однако, когда я снова получил доступ, этот атрибут исчез. Это потому, что::
Когда выполняется вторая строка присвоения атрибута кода, в фоновом режиме создается экземпляр основного типа обертки. Этот возрастный атрибут действительно висел в этом экземпляре, но сразу после этого экземпляр разрушается. При выполнении на третью строку воссоздается новый экземпляр базового типа обертки, и, естественно, нет возрастного атрибута.
Показать базовый тип упаковки
В дополнение к строке в режиме чтения, фон поможет нам создать базовый экземпляр типа обертки, который мы также можем отобразить.
var str = new String ("hello"); var str2 = str.touppercase (); console.log (str2); // "Привет:Это отличается от того, что сохраняется в переменной, когда фон помогает нам создать.
var str1 = new String ("hello"); var str2 = "hello"; typeof str1 // "объект" typeof str2 // "строка"Суммировать
Благодаря основному типу упаковки нам удобнее управлять тремя основными типами строки, логического и числа. Всякий раз, когда эти три значения основного типа прочитаны, фон создаст соответствующий экземпляр типа обертки. Этот экземпляр будет вызвать указанный метод и будет уничтожен после вызова. Этот короткий жизненный цикл определяет, что мы не можем добавить пользовательские свойства и методы к примитивным типам.
Приведенная выше статья имеет глубокое понимание того, почему строки могут принадлежать JavaScript. Это весь контент, которым я делюсь с вами. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.