1 多核CPU、进程和线程
① 单CPU中进程只能是并发,多CPU计算机中进程可以并行;
② 单CPU单核中线程只能并发,单CPU多核中线程可以并行;
③ 无论是并发还是并行,使用者来看,看到的都是多进程,多线程。
2 形参与实参
① 比如你定义一个函数function add(a, b){...}
,这里的a
和b
就是parameter;
②当你进行函数调用add(1, 2);
,这里的1
和2
就是argument。
3 id选择器和类选择器
① id选择器只能选用一次;
② 类选择器可以选用多次;
③ 类选择器写CSS与HTML最常用,id选择器JS用;
④ 如果一个元素拥有ID属性,那么ID属性的属性值就会成为window对象的属性名.;
⑤ 如果一个元素拥有name属性,那么name属性的属性值就会成为window对象的属性名,但这个元素的标签名必须是:a
、applet
、area
、embed
、form
、frame
、frameset
、iframe
、img
、object
其中的一个。
4 offset、client和scroll
① offset是元素的大小+padding+border;
② client是元素的大小+padding;
③ scroll是内容的大小+padding,假如内容没有溢出的话,scroll是等同于client的。
5 jQuery中的一些节点方法
① append()
,在父级最后追加一个子元素,如parent.appent(child)
;
② appendTo()
,将子元素追加到父级的最后,如child..appendTo(parent)
;
③ prepend()
,在父级最前面追加一个子元素;
④ prependTo()
,将子元素追加到父级的最前面 ;
⑤ after()
,在当前元素之后追加(是同级关系);
⑥ before()
,在当前元素之前追加(是同级关系);
⑦ insertAfter()
,将元素追加到指定对象的后面(是同级关系);
⑧ insertBefore()
,将元素追加到指定对象的前面(是同级关系)。
6
var link = document.createElement('a');
link.href = 'javascript:void(0)';
7 节点操作方法
① parent.appendChild(newchild)
,如果文档树中已经存在了newchild
,它将从文档树中删除,然后重新插入它的新位置,insertBefore()
和replaceChild()
都是如此。
② insertBefore()
;
③ removeChild()
;
④ replaceChild()
。
8 箭头函数
① 是一种缩写:(参数1, 参数2, …, 参数N) => { 函数声明 };
② ()
和{}
这两个有时候可以省略,条件分别是只有一个参数;函数声明只有一句return什么什么的时候;例如:
var elements = [
'Hydrogen',
'Helium',
'Lithium',
'Beryllium'
];
elements.map(element => element.length); // [8, 6, 7, 9]
③ 没有参数时前面简写成一对()
;
④ 箭头函数没有自己的this
指针。
9 ES6的map()
① map()
方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
10 静态方法与实例方法的区别
① 静态方法属于整个类所有,因此调用它不需要实例化,可以直接调用(类.静态方法())。实例方法必须先实例化,创建一个对象,才能进行调用(对象.实例方法()
);
② 静态方法只能访问静态成员,不能访问实例成员;而实例方法可以访问静态成员和实例成员;
③ 在程序运行期间,静态方法是一直存放在内存中,因此调用速度快,但是却占用内存。实例方法是使用完成后由回收机制自动进行回收,下次再使用必须再实例化;
④ 一般来说,公共的函数、经常调用的可以写成静态方法,比如数据连接等(SqlHelper)。