James Williams
// JavaScript runs in the browser
console.log('Hello from JavaScript!');
// Modern ES6+ syntax
const greeting = (name) => `Hello, ${name}!`;
console.log(greeting('CMM721'));
// const - cannot be reassigned
const PI = 3.14159;
// let - block-scoped, can be reassigned
let counter = 0;
counter++;
// var - function-scoped (avoid in modern code)
var oldStyle = 'deprecated';
Click the buttons to see JavaScript in action:
function greet(name) {
return `Hello, ${name}!`;
}
const greet = (name) => `Hello, ${name}!`;
const multiply = (a, b) => a * b;
const processData = (data) => {
// Multiple statements
const result = data.map(x => x * 2);
return result;
};
// Modern methods (recommended)
const element = document.querySelector('.class');
const elements = document.querySelectorAll('div');
// By ID
const header = document.getElementById('header');
// By class
const items = document.getElementsByClassName('item');
Enter a name and click the button!
// Event listener (modern approach)
const button = document.querySelector('#myButton');
button.addEventListener('click', (event) => {
console.log('Button clicked!');
event.preventDefault(); // Prevent default behavior
});
Create a dynamic todo list application using DOM manipulation
const numbers = [1, 2, 3, 4, 5];
// map - transform each element
const doubled = numbers.map(n => n * 2);
// filter - select elements
const evens = numbers.filter(n => n % 2 === 0);
// reduce - accumulate values
const sum = numbers.reduce((acc, n) => acc + n, 0);
// find - get first match
const found = numbers.find(n => n > 3);
Original array: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const name = 'CMM721';
const message = `Welcome to ${name}!`;
const multiLine = `Line 1
Line 2
Line 3`;
// Array destructuring
const [first, second] = [1, 2, 3];
// Object destructuring
const {name, age} = {name: 'John', age: 30};
// Function parameters
function greet({name, course}) {
return `${name} in ${course}`;
}
// Console methods
console.log('Standard message');
console.error('Error message');
console.warn('Warning message');
console.table([{name: 'Item 1'}, {name: 'Item 2'}]);
// Debugger statement
debugger; // Pause execution here
Create a real-time form validation system with event handling
Preparation: Review JavaScript fundamentals and practice DOM manipulation.
Contact: JWilliams@Staff.newman.ac.uk
Office Hours: By appointment
Resources: MDN Web Docs, JavaScript.info
Thank you for your attention!