<!doctype html> <script type="module"> // note: module need browser access via http, not file:/// import {sayHi} from './say.js'; document.body.innerHTML = sayHi('John'); </script>
let a = 1 // block scope; local block accessible only var b = 1 // function scope; global accessible when global declare, local only when local declare
[a, b] = [10, 20]; // Destructuring arrays // same as pyhton: a,b = [10,20] const my_data = { firstName: 'Any', lastName: 'One' } let { firstName, lastName } = my_data // destructuring objects, note the variable name must be same as key name
const fruits = ["Banana", "Orange", "Apple", "Mango"]; let text = fruits.join(';');
// process like police man in back-door truck, first in last out, last in first out let truck_queue = ['Bob', 'Willy', 'Mini']; deploy_police = main_queue.pop(); // left ['Bob', 'Willy'] output 'Mini' // add new police cats.push('Puff', 'George'); // left ['Bob', 'Willy', 'Puff', 'George'] // process like coffee shop, first in first out, last in last out let coffee_queue = ['Bob', 'Willy', 'Mini']; cur_customer = coffee_queue.shift(); // left ['Willy', 'Mini'], output 'Bob' // also can cut queue to like this coffee_queue.unshift('Puff', 'George'); // ['Puff', 'George', 'Willy', 'Bob'] // also add new to coffee queue normall coffee_queue.push('Sam'); // ['Puff', 'George', 'Willy', 'Bob', 'Sam']
document.getElementById("coinbox_content").scrollTop = 0 #css part .coinbox_content{ float: left; width: 430px; height: 100%; overflow: auto; }
let timer = 5 * 60; // Convert minutes to seconds const timerIndicator = document.getElementById('timerIndicator'); // method a: Display count down, bad: will still run after time=0 setInterval(function() { timer--; timerIndicator.textContent = formatTimer(timer); if (timer <= 0) { alert('Form submit'); } }, 1000); // method b: will not run after time=0 function updateTimer() { timer--; timerIndicator.textContent = formatTimer(timer); if (timer <= 0) { alert('Form submit'); } else { setTimeout(updateTimer, 1000); } } updateTimer(); // Start the timer. // end of method b function formatTimer(seconds) { const minutes = Math.floor(seconds / 60); const remainingSeconds = seconds % 60; return `${String(minutes).padStart(2, '0')}:${String(remainingSeconds).padStart(2, '0')}`; }
localStorage.setItem('user','lucy') console.log(localStorage.getItem('user')) localStorage.removeItem('user') localStorage.clear() // cookie is simple, all in 1 line text, that is for all keys and datas document.cookie = "user=lucy"; // default cookie till the tab session close utc_date = new Date("2030/12/31").toUTCString() console.log(utc_date) document.cookie = "user=lucy;expires="+utc_date+";SameSite=lax" // cookie with expire date in UTC standard format document.cookie = "score=121;expires="+utc_date+";SameSite=lax"; // read cookie function getCookie(name) { const value = `; ${document.cookie}`; const parts = value.split(`; ${name}=`); if (parts.length === 2) return parts.pop().split(';').shift(); } console.log(document.cookie) console.log(getCookie('user')) //to remove cookie, just set expire to early date