===============================================
JS篇
①JS 垃圾回收方案是:
(1)遍历所有的可访问对象
(2)回收已不可访问的对象
优化策略:
分代回收(多回收临时对象区,少回收持久对象区)
增量GC(每次处理一点,下次再处理一点)
②stringObject.indexOf(searchvalue,fromindex)
searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。
var arr = [1,2,3,4,5];
console.log(arr.indexOf(3)) // 2
console.log(arr.indexOf(3,1)) //2
解释下,arr.indexOf(3)这个好理解,就是返回3出现的索引位置,为2没毛病。
再看arr.indexOf(3,1) ,最开始的时候以为,是从索引为1的位置,就是2这个位置开始查找。返回3这个值出现的位置。那应该是1 啊。要是这么理解就望文生义了。
其实真相是这个样子的:他只是查找的位置改变了。返回的还是从头算起改值的索引(索引为0 的位置开始)的结果。
③++ --
++i, i++在单独使用时,都是i=i+1。
a=++i 相当于 i=i+1, a=i; 前加加 先计算后赋值
a=i++ 相当于a=i, i=i+1。 后加加 先赋值后计算
这样解释比较清晰
④
substring() 方法用于提取字符串中介于两个指定下标之间的字符
substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串。
substring(start,end)
- substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
- 如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
- 如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
- 如果 start 或 end 为负数,那么它将被替换为 0。
stringObject.substr(start [, length ])
- 如果start为负数,则start=str.length+start。
- 如果 length 为 0 或负数,将返回一个空字符串。
- 如果没有指定该参数,则子字符串将延续到stringObject的最后。
⑤ window
535483720001a54506670563.jpg
⑥ for in for of 区别
for (var key in arr){
console.log(arr[key]);
}
for (var value of arr){
console.log(value);
}
⑦eval()
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
⑧slice()
slice() 方法可从已有的数组中返回选定的元素
您可使用负值从数组的尾部选取元素
⑨apply() call()区别
apply()把参数打包成Array再传入;
call()把参数按顺序传入。
==========================================
Html 篇
①当显示页面时,浏览器会移除源代码中多余的空格和空行。所有连续的空格或空行都会被算作一个空格。需要注意的是,HTML 代码中的所有连续的空行(换行)也被显示为一个空格。
②浏览器会自动地在段落的前后添加空行。(</p> 是块级元素)
③通常标签 <strong> 替换加粗标签 <b> 来使用, <em> 替换 <i>标签使用。
网友评论