js部分
1,使用严格模式的优点
- 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
- 消除代码运行的一些不安全之处,保证代码运行的安全;
- 提高编译器效率,增加运行速度;
- 为未来新版本的Javascript做好铺垫。
2,合并数组的方法
a.contact(b);
3,jquery的get()方法、eq()方法
$("ul").eq(1);
$("ul").get(1);
eq返回的是一个jquery对象 get返回的是一个html 对象数组
4,jquery的end()方法
end() 方法结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态。
举例说明
$('ul.first').find('.foo').css('background-color', 'red').end().find('.bar').css('background-color', 'green');
这条命令链检索第一个列表中类名为 foo 的项目,并把它们的背景设置为红色。end() 会将对象还原为调用 find() 之前的状态,所以第二个 find() 查找的是 <ul class="first"> 内的 '.bar' ,而不是在列表的 <li class="foo"> 中查找,并将匹配元素的背景设置为绿色。最后的结果是第一个列表中的项目 1 和项目 3 被设置了带颜色的背景,而第二个列表中的项目没有任何变化。
5,jquery的closest()方法
closest() 方法获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上。
6,jquery插件为什么要传入undefined?
1)一种解释是:undefined在老一辈的浏览器是不被支持的,直接使用会报错,js框架要考虑到兼容性,因此增加一个形参undefined。
2)另一种解释是:在 自调用匿名函数 的作用域内,确保undefined是真的未定义。因为undefined能够被重写,赋予新的值。
7,下列代码的输出情况
var a={a:1},b={a:1},
c=a;
alert(a==b);false
alert(a===b);false
alert(a==c);true
alert(a===c);true
之所以前两个为false,是因为a和b引用的是堆内存中不同的对象