(面试题 干货)金九银十抓住机会,你就是王者

1.简述javascript的封装
对象的定义;对象的继承;单例模式;私有属性、私有方法、公有属性、公有方法

2.split()和join()的区别
join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。 指定分隔符方法join("#");其中#可以是任意。

与之相反的是split()方法:用于把一个字符串分割成字符串数组.stringObject.split(a,b)这是它的语法a是必须的决定个从a这分割b不是必须的,可选。该参数可指定返回的数组的最大长度 。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

3.写一个让b继承a的方法
function A( age, name ){
this.age = age;
this.name = name;
}

A.prototype.show = function(){
alert('父级方法');
}

function B(age,name,job){
A.apply( this, arguments );
this.job = job;
}
B.prototype = new A();
var b = new A(14,'侠客行');
var a = new B(15,'狼侠','侠客');
a.show();

4.冒泡排序
for(var i=0; i<arr.length-1; i++){
for(var j=0; j<arr.length-i-1; j++){
if(arr[j] > arr[j+1]){
var oldVal = arr[j];
arr[j] = arr[j+1];
arr[j+1] = oldVal;
}
}

}

5.关于数据的跨域问题请提出几个通过javascript实现的解决方案并附上简单代码。
(1)document.domain+iframe的设置
(2)动态创建script
(3)利用iframe和location.hash
(4)window.name实现的跨域数据传输
(5)使用HTML5 postMessage

6.js编程实现将10进制的数302转为二进制
parseInt(302,10).toString(2);

7.请简述建设网站涉及的主要方面,当前开发使用的主流技术及趋势
(1)建设网站涉及的主要方面
前端:
JS框架的选择,CSS框架选择,MVC框架选择,网站性能,网站安全性,网站用户体验及可用性,移动端,SEO等等;
后端:
开发平台,内容管理系统(CMS),网站安全性,带宽等等
(2)开发使用的主流技术及趋势
JavaScript, jQuery, HTML5, CSS3, Zepto, iScroll, 微网页,HybridApp, ,Bootstrap, Less, PHP, MySQL, Ajax, JSON, AngularJS, NodeJS, Express, Jade, Socket.io, MongoDB, Mongoose

5.请写出下面JavaScript代码的运算结果是2还是undefined?请阐述原因
function show(){
var b = 1;
a = ++b;
}
show();
alert(a);

2, 因为a是全局变量

评论 ( 1 )
最新评论
13722493371 6 天前 1F

因为 a没有加上var 所以默认是全局变量