Java 部分需要掌握的知识点:
变量的数据类型可以使用 typeof 操作符来查看:
typeof "John" // 返回 string
typeof 3.14 // 返回 number
typeof false // 返回 boolean
typeof [1,2,3,4] // 返回 object
typeof {name:'John', age:34} // 返回 object
null 和 undefined 的值相等,但类型不等:
typeof undefined // undefined
function myFunction(a, b) { return a * b; }
const x = (x, y) => { return x * y };
function myFunction(x, y = 10) { // y is 10 if not passed or undefined return x + y; } myFunction(0, 2) // 输出 2 myFunction(5); // 输出 15, y 参数的默认值
还记得函数自我调用吗?该函数会做什么?
var add = (function () { var counter = 0; return function () {return counter += 1;} })(); add(); add(); add(); // 计数器为 3
let myCars=["Saab","Volvo","BMW"];
push(末尾添加新的元素)
pop (删除数组的最后一个元素)
map(
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
fill() 方法用于将一个固定值替换数组的元素
xs=Array(100).fill(100).map((x,i) =>i+1);(列出了1-100)
for (const x of xs){
sum+=x;
}
xs.forEach(x => {sum = sum+x;})
sum = xs.reduce((partialSum,x)=>partisalSum +x) //reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
const events = xs.filter(n=>n%2 ===0)
返回的都是偶数的
定义 JavaScript 对象可以跨越多行,空格跟换行不是必须的:
这个就是上面提到的闭包吧
navigator.geolocation;
navigator.deviceMemory;
window.innterWidth;
window.innerHeight;
document.body;
document.images;
document.cookie;
let p = <make a promise object which runs immediately>
function resolved(v) {use result}
function rejected(e) {handle error}
p.then(resoved).catch(rejected);
let p = new Promise((resolve,reject)=> { setTimeout(() => resolve('line 2 running'), 2000); }) p.then(console.log); console.log("main thread has reached line 7")
function flow(flag){ //promise是一个构造函数,内部接收一个回调函数。 //回调函数内部有两个参数,reslove是执行成功的时候调用的,reject是失败调用的 var promise = new Promise(function(reslove,reject){ setTimeout(function(){//模拟异步操作 if(flag){ reslove(true);//处理成功 }else{ reject(false)处理失败 } },5000) }); return promise; } //flow返回的是一个Promise对象,这样我们就能通过下面的方式来的处理异步操作了。 //调用该函数 flow().then(function(success){ }).catch(function(error){ //处理失败返回 });
插入
<script src="xxx"></script>