dom树和render树的对应关系
解释型语言:一边执行一边解释(js)
编译型语言:运行速度快
es6才有常量,常量默认规范变量名使用大写
基本数据类型储存在栈中,object存储在堆中
栈:速度快但容量小
堆:速度慢,容量大
所有数据类型都是基于对象构建而成的
0、空字符串、false、NaN、underfined、null强制转换布尔值时是false
var b = true;
b = Number(b);//输出b为1
NaN和数字比较为false
0 = false = “”;//相等
null = underfined;//相等
NaN 不等NaN //symbol也是如此
字符相加时首尾相连,若一端为字符串则会隐式转换为字符串
1 +t rue = 2
1 + underfined = NaN
2 + null = 2
true + true = 2
null、underfined、NaN、空字符串取反为true,其余取反均为false
ps中每英寸占用72个像素点,一个字96个像素点
一英寸需要:72 * 4 = 288B
位非:加1取反
~~a;//数值还原取整
a:while(i<10){
var j = 0;
while(j < 10){
if(i + j === 10)break a;//跳到标记处
j++;
}
i++
}
// 在数组中查找2所在的所有下标
// var arr=[1,2,4,2,3,4,2,22,1,2,2,2,3,2];
/* var arr1=[];
var index=-1;
while(~(index=arr.indexOf(2,index+1))) arr1.push(index);
console.log(arr1); */
/* var arr1=[];
arr.forEach(function(item,index){
if(item===2) arr1.push(index);
});
console.log(arr1); */
/* var arr1=arr.reduce(function(value,item,index){
if(item===2) value.push(index);
return value;
},[]);
console.log(arr1); */
// 在数组中删除相同的元素(去重)
/* for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]===arr[j]){
arr.splice(j,1);
j--;
}
}
}
console.log(arr); */
// 将两个数组中相同的元素放在一个新数组中
// var arr=[1,4,2,6,3,2,6,3];
// var arr1=[4,6,7,9,0,2,2,6];
// var arr2=arr.reduce(function(value,item){
// if(arr1.indexOf(item)>-1 && value.indexOf(item)<0) value.push(item);
// return value;
// },[]);
// console.log(arr2);
// 将两个数组中不同的元素放在一个新数组中
// var arr=[1,4,2,6,3,2,6,3];
// var arr1=[4,6,7,9,0,2,2,6];
// var arr2=arr.concat(arr1);
// var arr3=[];
// arr2.forEach(function(item,index){
// var list=arr2.reduce(function(value,item1,index1){
// if(item===item1) value.push(index1);
// return value;
// },[]);
// if(list.length===1) arr3.push(item);
// })
// console.log(arr3);
// arr=deEmphasis(arr);
// arr1=deEmphasis(arr1);
// console.log(arr,arr1);
// var arr2=arr.concat(arr1)
// var arr3=arr2.reduce(function(value,item,index){
// var list=arr2.reduce(function(value1,item1,index1){
// if(item===item1) value1.push(index1);
// return value1;
// },[]);
// if(list.length===1) value.push(item);
// return value;
// },[]);
// console.log(arr3);
function deEmphasis(arr){
return arr.reduce(function(value,item){
if(value.indexOf(item)<0) value.push(item);
return value;
},[]);
}