Введение
В этом лабе участники будут изучать фундаментальные логические операторы в JavaScript с помощью практического упражнения по веб-разработке. Лаб-руководство помогает ученикам создать HTML-файл и реализовать практические демонстрации логических операторов AND (&&), OR (||) и NOT (!), обеспечивая полное понимание того, как эти операторы работают в JavaScript-программировании.
Следуя пошаговому подходу, студенты создадут интерактивную веб-страницу, которая отображает результаты различных логических операций, позволяя им понять, как эти операторы оценивают условия и возвращают булевы значения. В лабе акцентируется на практическом обучении с использованием реальных сценариев, таких как соответствие условиям для вождения и аутентификация пользователя, чтобы проиллюстрировать применение логических операторов в JavaScript.
Настройте HTML-файл для демонстрации логических операторов
В этом шаге вы создадите базовый HTML-файл, который будет служить основой для демонстрации логических операторов JavaScript. Мы настроим простую структуру веб-страницы с секцией сценария, где мы будем изучать логические операции.
Откройте WebIDE и перейдите в каталог ~/project. Создайте новый файл с именем logical-operators.html с использованием интерфейса WebIDE.
Вот начальная HTML-структура, которую вы будете использовать:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>JavaScript Logical Operators Demo</title>
</head>
<body>
<h1>Exploring Logical Operators in JavaScript</h1>
<div id="output"></div>
<script>
// We'll add our JavaScript logical operator examples here
</script>
</body>
</html>
Разберём основные компоненты этого HTML-файла:
- Объявление
<!DOCTYPE html>указывает, что это документ HTML5 - Мы добавили заголовок и заголовок первого уровня, чтобы описать страницу
<div id="output">будет использоваться для отображения результатов наших логических операторов- Теги
<script>— это место, где мы будем писать код JavaScript
Пример вывода при открытии этого файла в браузере:
Exploring Logical Operators in JavaScript
Реализуйте логическую операцию AND (&&)
В этом шаге вы узнаете о логическом операторе AND (&&) в JavaScript. Оператор AND возвращает true только тогда, когда оба операнда истинны, в противном случае возвращает false.
Откройте файл logical-operators.html, который вы создали на предыдущем шаге. Внутри тега <script> добавьте следующий код JavaScript, чтобы продемонстрировать оператор AND:
// AND (&&) Logical Operator Demonstration
function demonstrateAndOperator() {
let output = document.getElementById("output");
// Example 1: Simple boolean AND
let isAdult = true;
let hasLicense = true;
let canDrive = isAdult && hasLicense;
output.innerHTML += `Can drive? ${canDrive}<br>`;
// Example 2: Comparison AND
let age = 25;
let hasValidLicense = age >= 18 && age <= 65;
output.innerHTML += `Valid driving age? ${hasValidLicense}<br>`;
// Example 3: Multiple conditions
let isMember = true;
let hasDiscount = true;
let canGetSpecialOffer = isMember && hasDiscount;
output.innerHTML += `Special offer available? ${canGetSpecialOffer}<br>`;
}
// Call the function when the page loads
demonstrateAndOperator();
Разберём оператор AND (&&):
- Он возвращает
trueтолько если обе условия истинны - В первом примере
canDriveистинно только если иisAdult, иhasLicenseистинны - Второй пример использует операторы сравнения с AND
- Третий пример показывает, как AND может комбинировать несколько булевых условий
Пример вывода в браузере:
Can drive? true
Valid driving age? true
Special offer available? true
Реализуйте логическую операцию OR (||)
В этом шаге вы узнаете о логическом операторе OR (||) в JavaScript. Оператор OR возвращает true, если хотя бы один из операндов истинен, в противном случае возвращает false.
Откройте файл logical-operators.html и добавьте новую функцию для демонстрации оператора OR внутри тега <script>:
// OR (||) Logical Operator Demonstration
function demonstrateOrOperator() {
let output = document.getElementById("output");
// Example 1: Simple boolean OR
let isWeekend = false;
let isHoliday = true;
let canRelax = isWeekend || isHoliday;
output.innerHTML += `Can relax? ${canRelax}<br>`;
// Example 2: Comparison OR
let age = 16;
let hasParentalConsent = true;
let canAttendEvent = age >= 18 || hasParentalConsent;
output.innerHTML += `Can attend event? ${canAttendEvent}<br>`;
// Example 3: Multiple conditions
let hasCoupon = false;
let isNewCustomer = true;
let canGetDiscount = hasCoupon || isNewCustomer;
output.innerHTML += `Eligible for discount? ${canGetDiscount}<br>`;
}
// Call the function when the page loads
demonstrateOrOperator();
Разберём оператор OR (||):
- Он возвращает
true, если хотя бы одно условие истинно - В первом примере
canRelaxистинно, потому чтоisHolidayистинно - Второй пример показывает, как OR может использоваться с операторами сравнения и булевыми условиями
- Третий пример демонстрирует комбинирование нескольких условий
Пример вывода в браузере:
Can relax? true
Can attend event? true
Eligible for discount? true
Реализуйте логическую операцию NOT (!)
В этом шаге вы узнаете о логическом операторе NOT (!) в JavaScript. Оператор NOT инвертирует булево значение выражения, превращая true в false и false в true.
Откройте файл logical-operators.html и добавьте новую функцию для демонстрации оператора NOT внутри тега <script>:
// NOT (!) Logical Operator Demonstration
function demonstrateNotOperator() {
let output = document.getElementById("output");
// Example 1: Basic NOT operation
let isRaining = false;
let isSunny = !isRaining;
output.innerHTML += `Is it sunny? ${isSunny}<br>`;
// Example 2: NOT with comparison
let age = 16;
let isAdult = !(age < 18);
output.innerHTML += `Is an adult? ${isAdult}<br>`;
// Example 3: Negating a complex condition
let hasTicket = true;
let isCrowded = true;
let canEnter = !(hasTicket && isCrowded);
output.innerHTML += `Can enter? ${canEnter}<br>`;
}
// Call the function when the page loads
demonstrateNotOperator();
Разберём оператор NOT (!):
- Он изменяет на противоположное булево значение выражения
- В первом примере
isSunnyстановитсяtrue, потому чтоisRainingравноfalse - Второй пример показывает применение NOT с оператором сравнения
- Третий пример демонстрирует применение NOT к более сложному условию
Пример вывода в браузере:
Is it sunny? true
Is an adult? false
Can enter? false
Отобразите результаты логических операций на веб-странице
В этом шаге вы объедините все изученные логические операторы и создадите полноценную демонстрацию, которая будет отображать результаты на веб-странице. Мы изменим HTML-файл, чтобы включить более структурированный подход к показу результатов логических операторов.
Обновите файл logical-operators.html следующим полным кодом:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>JavaScript Logical Operators Demo</title>
<style>
body {
font-family: Arial, sans-serif;
max-width: 600px;
margin: 0 auto;
padding: 20px;
}
.result {
margin: 10px 0;
padding: 10px;
background-color: #f0f0f0;
}
</style>
</head>
<body>
<h1>JavaScript Logical Operators Exploration</h1>
<div id="andResults" class="result">
<h2>AND (&&) Operator Results</h2>
</div>
<div id="orResults" class="result">
<h2>OR (||) Operator Results</h2>
</div>
<div id="notResults" class="result">
<h2>NOT (!) Operator Results</h2>
</div>
<script>
// Function to display results
function displayResult(elementId, message) {
const element = document.getElementById(elementId);
const resultLine = document.createElement("p");
resultLine.textContent = message;
element.appendChild(resultLine);
}
// AND (&&) Operator Demonstration
function demonstrateAndOperator() {
let isAdult = true;
let hasLicense = true;
let canDrive = isAdult && hasLicense;
displayResult("andResults", `Can drive? ${canDrive}`);
let age = 25;
let hasValidLicense = age >= 18 && age <= 65;
displayResult("andResults", `Valid driving age? ${hasValidLicense}`);
}
// OR (||) Operator Demonstration
function demonstrateOrOperator() {
let isWeekend = false;
let isHoliday = true;
let canRelax = isWeekend || isHoliday;
displayResult("orResults", `Can relax? ${canRelax}`);
let age = 16;
let hasParentalConsent = true;
let canAttendEvent = age >= 18 || hasParentalConsent;
displayResult("orResults", `Can attend event? ${canAttendEvent}`);
}
// NOT (!) Operator Demonstration
function demonstrateNotOperator() {
let isRaining = false;
let isSunny = !isRaining;
displayResult("notResults", `Is it sunny? ${isSunny}`);
let age = 16;
let isAdult = !(age < 18);
displayResult("notResults", `Is an adult? ${isAdult}`);
}
// Run all demonstrations when page loads
function runAllDemonstrations() {
demonstrateAndOperator();
demonstrateOrOperator();
demonstrateNotOperator();
}
// Call the main function when the page loads
window.onload = runAllDemonstrations;
</script>
</body>
</html>
Основные улучшения в этой версии:
- Добавлены стилизованные разделы результатов для каждого логического оператора
- Созданная функция
displayResult()для отображения результатов - Реализована функция
runAllDemonstrations()для выполнения всех демонстраций операторов - Добавлены базовые стили CSS для улучшения читаемости
- Использован
window.onload, чтобы гарантировать, что все скрипты будут выполнены после загрузки страницы
Пример вывода в браузере покажет результаты операторов AND, OR и NOT в отдельных, стилизованных разделах.
Резюме
В этом практическом занятии участники изучали логические операторы JavaScript на примере веб-разработки. Практика началась с создания HTML-файла с специальным div для вывода результатов, что позволило создать структурированную среду для демонстрации логических операций. Участники узнали о логических операторах AND (&&), OR (||) и NOT (!), реализовав на практике примеры, которые показывают, как эти логические операторы оценивают булевы выражения и контролируют ход выполнения программы.
Взаимодействующий подход позволил учащимся понять поведение каждого логического оператора, написав JavaScript-код непосредственно в HTML-файле. Изменяя булевы значения и используя методы сравнения, участники получили представление о том, как логические операторы могут использоваться для принятия условных решений и создания более сложных логических выражений в программировании на JavaScript.



