力扣 30 天 JavaScript 挑战 第一题笔记
1. 什么是浏览器开发工具
看了一下 https://developer.mozilla.org/en-US/docs/Learn_web_development/Howto/Tools_and_setup/What_are_browser_developer_tools
才知道DOM 检查器中右键单击(按 Ctrl 点击)一个 HTML 元素,可以对这个元素进行多种操作。
2. 函数语法
2.1 基本语法
function f(a,b){const sum=a+b;return sum;
}
console.log(f(1,2))
2.2 匿名函数
var f=function(a,b){const sum=a+b;return sum;
}
console.log(f(1,2))
这样编写可以把函数封装在作用域内
3 函数内的函数并函数提升
js可以在函数内创建其他函数,并可以反复调用。js函数当使用function声明函数的时候,又一个函数提升
的机制,可以在函数初始化之前使用。
function createFunction(){return f;function f(a,b){return a+b;}
}
const f = createFunction();
console.log(f(1,2))//7
4 闭包
当创建函数时,它可以访问其周围声明的变量,也被称为词法环境。函数和其环境的组合称为闭包。
下面的函数,内部f函数可以访问creareAdder函数的参数a
function createAdder(a){fuction f(b){return a+b;}
}
const f = createAdder(1);
console.log(f(2))//3
5 箭头函数
const f = (a,b)=>{return a+b;
}
console.log(f(1,2))//3
5.1
箭头函数中代码可以编写在一行时候,可以省略reture
const f = (a,b)=>a+b;
console.log(f(1,2))//3
5.2
箭头函数语法和函数语法的差异
- 箭头函数没有this,super,arguments,new.target绑定
- 箭头函数不能作为构造函数
- 箭头函数没有prototype属性