var a = "foo";
var c = Array.prototype.join.call(a, "-"); // 'f-o-o'
Как работает вторая строка кода? Я не вижу никакого преобразования строки в массив и затем преобразования обратно, это происходит в фоновом режиме? Я столкнулся с таким кодом, и это очень странно, метод массива принимает строку.Что делает Array.prototype.join.call в фоновом режиме для строки?
NB: методы массива, такие как splice(), reverse(), sort() и т. Д., Которые изменяют массив на месте, НЕ будут работать для строк, поскольку строки неизменяемы – Danield