This commit is contained in:
Hanzhang ma 2024-06-24 11:47:26 +02:00
parent d758882972
commit c797db0f36
5 changed files with 119 additions and 3 deletions

10
6.4NFE/index.html Normal file
View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src="t.js"></script>
</body>
</html>

View File

@ -20,10 +20,14 @@ console.log(user.sayBye.name)
console.log(user.sayHi.name)
function ask(question, ...handlers){
let isYes = confirm(question);
// let isYes = confirm(question);
let isYes;
let decision = Math.floor(Math.random() * 2);
isYes = decision !== 0;
console.log(`isYes? ${isYes}`);
for(let handler of handlers){
if (handler.length == 0){
if (handler.length === 0){
if (isYes) handler();
}else{
handler(isYes);
@ -35,10 +39,51 @@ ask("Question?", () => console.log('You said yes'), result => console.log(result
console.log("the difference between the counter.count and closure is the counter.count can be accessed outside but closure cannot");
let sayHi = function func(who){
sayHi = function func(who){
console.log(`Hello, ${who}`);
};
sayHi("John");
function makeCounter(){
function counter(){
return counter.count++;
}
counter.set = function setCounter(value){
counter.count = value;
}
counter.decrease = function decreaseCounter(){
counter.count--;
}
counter.count = 0
return counter;
}
let counter1 = makeCounter();
counter1()
console.log(counter1())
counter1.set(45)
console.log(counter1.count)
counter1.decrease()
console.log(counter1.count)
function sum(a){
let currentSum = a;
function f(b){
currentSum += b;
return f
}
f.toString = function(){
return currentSum;
}
return f;
}
console.log(sum(1)(2));
console.log(sum(1)(-2));
alert(sum(1)(2));
alert(sum(1)(-2));

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src="t.js"></script>
</body>
</html>

View File

@ -0,0 +1,7 @@
let func = new Function('a', 'b', 'return a+b');
console.log(func(1,2))
let x = 10;
func = new Function('return x;');
console.log(func()); // Error: x is not defined

View File

@ -0,0 +1,44 @@
function sayHi(){
console.log('Hello');
}
setTimeout(sayHi, 1000);
function sayHi2(phrase, who){
console.log(phrase + ',' + who);
}
setTimeout(sayHi2, 100, "Hi", "John");
let timerId = setInterval(()=>console.log(('tick')), 1000);
setTimeout(() => {clearInterval(timerId); console.log('stop!')}, 5000);
timerId = setTimeout(function tick(){
console.log('tick');
timerId = setTimeout(tick, 1000);
}, 1000)
function printNumbers(from, to){
let cur = from
let timerId = setInterval(() => {
console.log(cur)
if(cur == to){
clearInterval(timerId);
}
cur += 1;
}, 1000);
}
function printNumbers2(from, to){
cur = from
setTimeout(function go() {
console.log(cur);
if(cur < to){
setTimeout(go, 1000);
}
cur++;
}, 1000)
}
printNumbers(10, 15);
printNumbers2(10, 15);