一 、css有哪几种选择器?
1.基本选择器
id选择器
class选择器
2.属性选择器
基本选择器【属性=‘属性值’】{}
3.伪类选择器
4.层级选择器
二、 js中声明函数的三种方式
1.函数声明方式
function sum(){}
2.函数表达式声明方式
var add = function(){}
3.使用Function构造函数
var add2 = new Function()
三、 js的原型?
function Person(){
}
Person.prototype.name = "yang";
Person.prototype.age = 20;
Person.prototype.sayName = function(){
alert(this.name);
};
var person1 = new Person();
person1.sayName();
每个函数被创建的时候都会有一个prototype属性,这个属性会指向函数的原型对象,默认情况下每个原型对象又都会获取一个constructor属性,这个属性包含一个指向prototype属性所在函数的指针。
四、 bind和on的区别?
都用于多事件的绑定
on的基本语法:on(events,[selector],[data],fn)
第二个参数可以阻止一些情况下的冒泡,原理简单来说就是用选择器来精确到匹配到你想执行函数的那个元素,
bind()就没有这个参数 , 因此在使用bind()时很可能产生冒泡
五、 live和bind的区别?
live()和 bind()都是给指定元素的事件绑定方法。live()是旧版本的,bind()是新版本的
火狐,谷歌,IE浏览器已经不再支持live(),建议用bind()代替
六、 什么是委托机制?
基于JS的事件冒泡,可以以JS事件委托的方式,在父元素上,给父元素的子元素绑定事件,同时减少事件绑定的时间复杂度。