简述javascript中的“=、==、===”的区别?
答:=赋值
==比较是否一般相等 "3"==3 //会做类型的隐式转换,true
===比较是否严格相等 "3"===3 //先比较类型,再进行值比较,false
看下列代码输出为何?解释原因
var a = null;
alert(typeof a);
var b;
alert(typeof b);
alert(c);
答:a为null,也是一个对象,所以typeof(a)为object.
b只有声明没有初始化,因此typeof(b)为undefined.
c没有定义,因此alert(c)会出现error.
编写javascript代码实现把两个数组合并,并删除第二个元素。
答:合并js数组用concat方法,array1.concat(array2)。
删除元素用splice方法,splice(1,1),函数原型splice(index,count),指从数组索引1处开始删除1个元素,即删除第二个元素。
简述javascript的作用域和闭包
答:js变量的作用域是指:函数内定义的局部变量只在此函数内有效,而全局变量可以全局有效。
闭包的作用就在于能够改变局部变量的作用域,将值保存下来,但是如果使用不当会造成无法回收变量,引起性能问题,甚至崩溃。
列举你用过的javascript框架,并简述它们的优缺点
答:js框架:jQuery EasyUI、ExtJS、Bootstrap、AngularJS等等。
jQuery EasyUI:轻量级web前端ui开发框架,尤其适合MIS系统的界面开发,能够重用jquery插件。
ExtJS:统一的前端UI开发框架,学习难度中等。尤其适合MIS系统的界面开发,开发文档和例子代码都比较完整。缺点是大量的js脚本,降低了运行速度。
Bootstrap:响应式网站开发框架,优点是降低了后端开发人员开发前端页面的难度,统一了界面风格,缺点是界面风格比较单一。
AngularJS:将java后端的优秀特性引入到了js前端,大而全的框架。缺点是学习曲线高,Angular2几乎重写。
简述a.Equals(b)和a==b的区别?
答:Equals方法比较内容(值是否相等),==比较引用地址(是否指向同一个对象)。