Показать сообщение отдельно
  #5 (permalink)  
Старый 26.12.2020, 23:58
Аспирант
Отправить личное сообщение для denis_alekss Посмотреть профиль Найти все сообщения от denis_alekss
 
Регистрация: 01.12.2020
Сообщений: 55

Сообщение от рони Посмотреть сообщение
denis_alekss,

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Тест</title>
 </head>
 <body>
<p id="result"></p>

    <script>

const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2,5,7);

//Собсвенный цикл forEach
var each = function(arr, callback,thisArg) {
  var i, length = arr.length;
  for (i = 0; i < length; i = i + 1) {
    callback.call(thisArg,arr[i], i, arr);
  }
};

each(array3,function(rez,d){
result.innerHTML+= d + ' - ' + this[d] + '<br> '} , array3)
  </script>
 </body>
</html>

А если поменять this[d] на array3[d] в строке:

result.innerHTML+= d + ' - ' + array3[d] + '<br> '},array3)

будет вывод такой же самый.

Я так понял thisArg дает просто ссылку на массив и все?
Но ведь к примеру такой код будет выводить все то же самое? Я изменил ниже.


<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Тест</title>
 </head>
 <body>  
<p id="result"></p>

    <script>
	
const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2,5,7);

//Собсвенный цикл forEach
var each = function(arr, callback) {
  var i, length = arr.length;
  for (i = 0; i < length; i = i + 1) {
    callback(arr[i], i, arr);
  }
};

each(array3,(rez,d,array3)=>{
result.innerHTML+= d + ' - ' + rez + '<br> ';} ) 
  </script>
 </body>
</html>


Зачем тогда всаживать thisArg ?

Последний раз редактировалось denis_alekss, 27.12.2020 в 00:01.
Ответить с цитированием