1、求y和z的值是多少?
var x = 1;
var y = 0;
function add(n){n=n+1;}
y = add(x);
console.log(y);
答案:为undefined
原因:因为没有返回值。
2、// 声明一个函数表达式
var add = function(x){
var sum = 1;
// 在函数表达式内部有一个求和的内部函数
var tmp = function(x){
sum = sum + x;// 求和
return tmp;
}
// 构建一个函数体的toString()函数
tmp.toString = function(){
return sum;
}
return tmp; // 返回的是一个函数体,如果该函数体有toString()方法,则会调用函数体的toString()方法
}
console.log(add(100)(2)(3);
答案:5
3、javascript是面向对象的,怎么体现javascript的继承关系?
参考答案:
1.原型链
基本思想:利用原型让一个引用类型继承另外一个引用类型的属性和方法。
构造函数,原型,实例之间的关系:每个构造函数都有一个原型对象,原型对象包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。
原型链实现继承例子:
function SuperType()
{
this.property = true;
}
SuperType.prototype.getSuperValue = function() {
return this.property;
}
function subType() {
this.property = false;
}
//继承了SuperTypeSubType.prototype = new SuperType();
SubType.prototype.getSubValue = function (){
return this.property;
}
var instance = new SubType();
console.log(instance.getSuperValue());//true
2.借用构造函数
基本思想:在子类型构造函数的内部调用超类构造函数,通过使用call()和apply()方法可以在新创建的对象上执行构造函数
例子:
function SuperType() {
this.colors = ["red","blue","green"];
}
function SubType() {
SuperType.call(this);
//继承了SuperType
}
var instance1 = new SubType();
instance1.colors.push("black");
console.log(instance1.colors);//"red","blue","green","black"
var instance2 = new SubType();
console.log(instance2.colors);//"red","blue","green"
4、form中的input可以设置为readonly和disable,请问二者有什么区别?
参考答案:
readonly不可编辑,但可以选择和复制;值可以传递到后台
disabled不可编辑,不能选择,也不能复制;值不可以传递到后台
5、javaScript的2种变量范围有什么不同?
参考答案:
全局变量:当前页面内有效
局部变量:方法内有效
全局作用域和块级作用域
6、程序中捕获异常的方法?
参考答案:
window.error
try{}catch(){}finally{}
7、写出程序运行的结果?
for(i=0, j=0; i<10, j<6; i++, j++){
k = i + j;
}
console.log(k);
答案:10
8、前端页面由哪三层构成,分别是什么?作用是什么?
参考答案:
结构层 Html(页面结构内容,骨架)
表示层 CSS(网页的样式和外观)
行为层 js(实现网页的交互,动画效果)
9、标签上title与alt属性的区别是什么?
参考答案:
Alt是图片属性,让搜索引擎认识你的图片。当图片不显示的时候显示。
title是网站标题,是seo中最重要的属性。
10、如何优化网页加载速度?
** 参考答案**:
1.减少http请求
2.压缩组件
3.将脚本放在底部
4.避免CSS表达式
5.使用外部的JavaScript和CSS
11、用过哪些前端框架,适合移动端的有哪些,并简单述说一下它们的优缺点。
参考答案:
1.Bootstrap, 是使用最广泛的框架。有最全面的功能,并且可以快速地定制自己的项目。
2.Foundation 是一个先进的响应前端框架,可以根据您的具体需求,这使得它很容易发展多种布局的,并且移动版本和桌面设备使用相同的标记。
3.UI Kit 基于Less开发,是一款轻量级、模块化的前端框架,可快速构建强大的web前端界面,且提供了全面的HTML、CSS及JS组件,使用简单、定制方便。
4.Pure 来自雅虎的一套CSS模块,可以将其作为基础用在Web项目中,非常小巧。
5.Amaze UI 以移动优先(Mobile first)为理念,从小屏逐步扩展到大屏,最终实现所有屏幕适配,适应移动互联潮流。
12、return 、return false 、return true 区别:
参考答案:
return true;返回正常的处理结果.
return false;返回错误的处理结果;终止处理;阻止提交表单;阻止执行默认的行为.
return;把控制权返回给页面.
目前问题一些大概就是这些了,重要的都记下来了,不重要的,反正都是瞎扯怎么怎么牛皮。
各位有时间可以去我博客转转增加IP+1好人卡呀