Javascript: могут ли параметры быть чем угодно?

Мне трудно найти информацию об этом: могут ли параметры Java-скрипта быть чем угодно? Например, я знаю, что параметр функции может быть другой функцией. Но также параметр кода java-скрипта может быть целым набором совершенно другого кода, какого-то кода, который вы не ожидаете увидеть там, поскольку этот другой код не указан в параметрах функции. Я пытался найти об этом, но все учебники, которые я нашел, показывают только основы того, что функция или действительно простой оператор java-скрипта имеют параметры и аргументы и немного больше деталей, может ли кто-нибудь объяснить это мне лучше и, надеюсь, предоставить лучшие ссылки ? Например, при использовании в java-скрипте, как показано ниже, css-преобразование 3d имеет ряд ожидаемых параметров, как описано здесь: https://www.w3schools.com/jsref/prop_style_transform.asp но в приведенном ниже коде переменная + currentAngle + также вставлена ​​в код, но когда параметры преобразования 3d официально определены, никто не говорит, что вы также можете вставлять переменные. Вы, очевидно, можете это сделать, но я пытаюсь точно узнать правила об этом, чтобы я мог быть в курсе, когда пишу свой код.

var currentAngle = 0;
var currentDirection = 0; // 0 - Increasing, 1 - Decreasing

function spin() {
document.getElementById("myDIV");
setInterval(function() {
if (currentDirection == 0) {
  // Allow one complete rotation.
  if (currentAngle < 360) {
    myDIV.style.transform = "rotate3d(0,1,0.2,"+ currentAngle +"deg)";
    currentAngle += 10;
  } else {
    // Change the direction.
    currentDirection = 1;
    currentAngle -= 10;
    myDIV.style.transform = "rotate3d(0,1,0.2,"+ currentAngle +"deg)";
  }

оберните свой сложный код в функцию и передайте его в качестве аргумента ???

Shubh 07.05.2019 17:27

Ваш вопрос очень неясен. Вы спрашиваете, могут ли параметры быть некоторыми функциями, но не другими функциями?

SLaks 07.05.2019 17:28

Пожалуйста, добавьте пример к вашему вопросу; похоже, вы говорите о обратных вызовах, когда в качестве параметра передается вся анонимная функция. Это обычная практика для асинхронных операций.

Chris G 07.05.2019 17:28

@ emma46, кстати, добро пожаловать в StackOverflow. Как уже отмечали другие, это может помочь, если вы четко объясните проблему, которую пытаетесь решить, или конкретный фрагмент кода, который у вас возникли проблемы с пониманием.

ctt 07.05.2019 17:29

Любое значение JS может быть передано в качестве аргумента функции. Фрагмент кода, обозначающий значение, в JS называется «выражением» (в отличие от кода, обозначающего инструкцию «сделать что-то», известного как «оператор»). Таким образом, синтаксически вы можете взять любое выражение <f>, которое оценивается как функция, и применить его к любому выражению <x>, которое оценивается как угодно, написав <f>(<x>).

Asad Saeeduddin 07.05.2019 17:30

Короткий ответ: да. Все, на что можно ссылаться через переменную, можно передать функции. Я полагаю, что под словом «что угодно» вы ломаете голову types? В JS нет классов или типов. Здесь есть много ответов на этот счет, но вкратце это язык без строгой типизации, обеспечивающий большую гибкость. В настоящее время JS все больше движется к тому, чтобы выглядеть как типизированный язык с Typescript.

Reuel Ribeiro 07.05.2019 17:30
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
111
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Аргументы могут иметь любое значение.

Код — это то, что создает программу, и обычно не является ценностью внутри программы.

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

Я обновил вопрос, чтобы, надеюсь, уточнить, о чем я спрашиваю, Квентин и Асад, вы ближе всех к пониманию и ответу на мой вопрос, так что спасибо.

emma46 07.05.2019 17:48

Вы путаете CSS и JS. В JS строки — это просто строки. В CSS значение не включает никаких функций.

Quentin 07.05.2019 17:50

Нет, я понимаю, что это CSS, но он используется в Javascript с дополнительными переменными. Мне нужно найти лучший пример только с javascript, но представьте, что мой пример полностью состоит из javascript, и я задал тот же вопрос о + currentAngle +

emma46 07.05.2019 17:52

@ emma46 — Тогда я отсылаю вас к последнему абзацу этого ответа.

Quentin 07.05.2019 17:52

Квентин, хорошо, честно, я думаю, вы ответили на вопрос. Что происходит в том же сценарии, когда код не является функцией javascript, а является просто выражением или оператором javascript, применяются ли те же правила? т.е. значения могут быть любым кодом, пожалуйста, где есть официальная информация об этом?

emma46 07.05.2019 17:54

@emma46 emma46 этот комментарий выше не имеет абсолютно никакого смысла, developer.mozilla.org/en-US/docs/Web/JavaScript

Andrew Daly 07.05.2019 17:58

Это так, вот лучший пример: вы не используете функцию javascript, вы просто используете встроенный метод JavaScript String charCodeAt(). Единственным перечисленным параметром для метода charCodeAt() строки JavaScript является «индекс», как в этом синтаксисе string.charCodeAt(index): однако это кажется в Javascript, где параметр (индекс) вы также можете добавить в другие параметры или даже другой код для выполнить сначала перед оценкой string.charCodeAt(index), в этом случае код может выглядеть так: string.charCodeAt(другой код javascript(index)) - я видел, но я хочу узнать правила этого

emma46 07.05.2019 18:07

@emma46 — charCodeAtявляется функция («метод» — это просто имя, данное функции, когда она является значением свойства объекта). Я отсылаю вас к последнему абзацу этого ответа.

Quentin 07.05.2019 18:08

Да, встроенная функция, хорошо, согласен, но вы видите, что я прошу из моего примера.

emma46 07.05.2019 18:09

@emma46 — Да, и я отсылаю вас к последнему абзацу этого ответа.

Quentin 07.05.2019 18:09

ха-ха, Квентин, не волнуйся, ты получишь ответ на свой вопрос с зеленой галочкой. Я просто покрываю все базы здесь.

emma46 07.05.2019 18:11

Другие вопросы по теме