ES5中不能实现继承的关键字
A prototype
B call
C apply
D extends
正确答案: D extends //属于ES6
不属于常见23种设计模式
A 单例
B MVC
C 观察者
D 策略
正确答案: B
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
有代码 var obj1={ a:[1], b:1 }; var obj2={ a:[2], c:2 }; var obj = Object.assign(obj1,obj2); 运行之后obj的结果为
A {a:[1],b:1}
B {a:[1,2],b:1,c:2}
C {a:[2],b:1,c:2}
D {a:[2],c:2}
正确答案: C
解析:Object.assign是ES6新添加的接口,主要的用途是用来合并多个JavaScript的对象。
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,且返回目标对象
Object.assign(target, …sources)
var target = {a : 1}; //目标对象
var source1 = {b : 2}; //源对象1
var source2 = {c : 3}; //源对象2
var source3 = {c : 4}; //源对象3,和source2中的对象有同名属性c
Object.assign(target,source1,source2,source3);
对于js闭包的理解,以下说法错误的是
A 一个闭包就是当一个函数返回时,一个没有释放资源的栈区
B 闭包能够访问一个函数中的局部变量
C 闭包使用不当会造成内存泄露
D 闭包需定义在匿名函数里
正确答案: D
解析:闭包是函数中的函数,不一定非得在匿名函数中
可以通过以下哪个运算符或方法判断一个实例属于某个类
A typeof
B instanceof
C isPrototypeOf
D hasOwnProperty
正确答案: B
解析:instanceof可以判断一个实例属于某个类
关于原型对象以下说法错误的是
A 每一个函数都有一个原型对象
B 每一个构造函数都有一个原型对象
C 原型对象上的属性和方法能被实例访问
D 原型对象上的属性和方法能被子类(代码里)访问
正确答案: D
解析: 原型对象上的属性和方法能被实例访问
以下哪一个不是常见的设计模式
A 单例模式
B 代理模式
C 飞行模式
D 观察者模式
正确答案: C
解析:飞行模式,手机里才有的模式!
有代码 function Foo(){
this.name=“test1”;
function bar(){
this.name=“test2”
};
bar();
}
Foo.name = “test3”;
var foo = new Foo(); 问foo.name的值为
A test1
B test2
C test3
D undefined
正确答案: A
解析:var foo = new Foo()
foo是是Foo的实例,所有foo.name 打印结果就是test1
有代码 var name = ‘global’;
var obj = {
name : ‘obj’,
dose : function(){
this.name = ‘dose’;
return function(){
return this.name;
}
}
}
console.log(obj.dose().call(this)); 问在控制台打印的结果为
A global
B obj
C dose
D undefined
正确答案: A
解析:obj.dose().call(this)
obj.dose()返回的是函数function(){ return this.name; }
call(this)是调用了函数function(){ return this.name; } 并且使用window改变了函数中的this,所有this.name就是window.name
下列哪一项不是jquery进行文档操作的方法
A append()
B inner()
C wrap()
D clone() $(selector).clone(includeEvents)
正确答案: B
解析:inner() 不是
//wrap() 方法把每个被选元素放置在指定的 HTML 内容或元素中。
//append() 方法在被选元素的结尾(仍然在内部)插入指定内容。
//clone() 方法生成被选元素的副本,包含子节点、文本和属性。
以下程序最后计算的结果是 function fun1(){
var sum=1;
return function(){
sum++;
return sum;
}
}
var fun2=fun1();
console.log(fun2());
console.log(fun2());
A 1,1
B 1,2
C 2,3
D 2,2
正确答案: C
解析:这是闭包的使用
函数的length属性是
A 函数的行数
B 函数的参数个数
C 函数的返回个数
D 永远是0
正确答案: B
解析:函数的length是参数的个数
下列输出结果正确的是 var a = 0;
var obj = {
fn : function(a){
a = 2;
a --;
}
}
obj.fn(a);
alert(a);
A 0
B 1
C 2
D 报错
正确答案: A
下列代码输出的结果是 var a; var a = [1,2,3]; function a(a){ a[1] = 5; } a(a); console.log(a);
A [1,2,3]
B [1,5,3]
C 报错
D undefined
正确答案: C
下列箭头函数书写正确的是
A 0–{}
B a,b => {}
C _ =>
D caller
正确答案: C
JS中,下面哪个不是创建函数的方式
A 声明函数
B 函数表达式
C Function构造函数
D class函数
正确答案: D
在构造函数中,可以在一个属性后添加方法,该属性为
A prototype
B prototype
C proto
D prototype
正确答案: B
面向对象,你需要经过哪几步,说法错误的是
A OOA 面向对象分析
B OOD 面向对象设计
C OOC 面向对象获取
D OOP 面向对象编程
正确答案: C
jQuery中可以使用哪个可以实现事件委托的绑定
A add
B on
C bind
D click
正确答案: B
下面哪种不是jquery的选择器
A 基本选择器
B 后代选择器
C 类选择器
D 进一步选择器
正确答案: D
关于闭包理解,下列描述错误的是
A 闭包就是能够访问自由变量的函数
B 如果闭包使用不当,容易造成内存泄漏
C 使用闭包常见的方式有传入一个函数参数,或者返回一个函数
D 闭包函数运行结束后,其中产生的数据会随着函数的结束而自动销毁掉
正确答案: D
解析:概念题,普通函数内的局部变量在函数调用结束后自动销毁
闭包函数运行结束后,产生的数据仍会保存在内存中
jQuery中的delay方法的作用是
A 停止动画执行
B 暂停动画执行
C 延迟动画执行
D 开始动画执行
正确答案: C
什么是闭包
A 闭包是指有权访问另一个函数作用域中的变量的函数
B 闭包是指有权访问任意函数作用域中的变量的函数
C 闭包是指有权访问全局个函数作用域中的变量的函数
D 闭包是指有权访问局部个函数作用域中的变量的函数
正确答案: A
构造函数继承的原理是
A 改变构造函数的this
B 调用父类构造函数,并改变其中的this
C 调用本类构造函数,并改变其中的this
D 调用父类构造函数
正确答案: B
解析:使用call或apply改变父类构造函数的this指向,并让其代码执行
( d o c u m e n t ) . r e a d y ( ) 和 w i n d o w . o n l o a d 有 什 么 区 别 A w i n d o w . o n l o a d 方 法 是 在 网 页 中 所 有 的 元 素 完 全 加 载 到 浏 览 器 后 才 执 行 , (document).ready()和window.onload 有什么区别 A window.onload方法是在网页中所有的元素完全加载到浏览器后才执行,(document).ready()和window.onload有什么区别Awindow.onload方法是在网页中所有的元素完全加载到浏览器后才执行,(document).ready() 可以在DOM载入就绪是就对其进行操纵
B 没有区别
C ( d o c u m e n t ) . r e a d y ( ) 方 法 是 在 网 页 中 所 有 的 元 素 完 全 加 载 到 浏 览 器 后 才 执 行 , (document).ready()方法是在网页中所有的元素完全加载到浏览器后才执行,(document).ready()方法是在网页中所有的元素完全加载到浏览器后才执行,(document).ready() 可以在DOM载入就绪是就对其进行操纵
D 两者作用不一样
正确答案: A
解析:onload包含文档和资源加载完毕
ready指文档加载完毕
jq中实现动画的方法是
A $.animate
B $().animate
C animate
D . s t a r t M o v e 正 确 答 案 : B 解 析 : a n i m a t e ( ) 是 j Q u e r y 实 例 方 法 , 调 用 示 例 : .startMove 正确答案: B 解析:animate()是jQuery实例方法,调用示例:.startMove正确答案:B解析:animate()是jQuery实例方法,调用示例:(“div”).animate()
在用浏览器查看网页时出现404错误可能的原因是 ( ) 代表网页不存在没有找到文件
A 页面源代码错误
B 文件不存在
C 与数据库连接错误
D 权限不足
正确答案: B
php的源码是( ) 开源语言
A 开放的
B 封闭的
C 需购买的
D 完全不可见的
正确答案: A
运行下来代码,返回结果是 function fn3(num) {
this.a=num;
fn4(this);
}
function fn4(obj) {
obj.b=10;
obj.c=20;
}
var obj1={};
fn3.call(obj1,10);
console.log(obj1);
A {a:10,b:10,c:20}
B {a:20,b:10,c:20}
C {a:10,b:10,c:10}
D {a:10,b:20,c:20}
正确答案: A
解析:call方法的使用
以下运行的结果是false的是 function Box(){
this.name=‘zhang’;
}
function Desk(){this.age=100;}
function Table(){this.lever=1000}
Desk.prototype=new Box();//通过原型链继承
var desk=new Desk();
var table=new Table();
A alert(table instanceof Object)
B alert(desk instanceof Box);
C alert(Desk instanceof Box);
D alert(desk instanceof Desk );
正确答案: C
解析:A. 一切事物皆对象
B. Dest 继承了 Box, 所以正确
C. Desk 是 Function的实例,和Box无关
D. desk 是 Desk 的实例
不能进行强制类型转化的为
A parseInt
B parseFloat
C Number
D Math.floor
正确答案: D
解析:floor() 方法返回小于等于x的最大整数。语法Math.floor(x)如果传递的参数是一个整数,该值不变。
parseInt() 函数可解析一个字符串,并返回一个整数。
parseFloat() 函数可解析一个字符串,并返回一个浮点数。
Number 对象是原始数值的包装对象。
Number 创建方式 new Number()。
不属于同源策略限制条件的
A 端口
B 协议
C 域名
D 网址
正确答案: D
不属于面向的对象思想的是
A 封装
B 继承
C 多态
D 抽象
正确答案: D
有代码 function Foo(){}; var foo = new Foo(); 下列表达式运算结果为true的选项为
A Foo.prototype == Foo.proto
B foo.prototype == Foo.proto
C foo.proto == Foo.prototype
D foo.proto == Foo.proto
正确答案: C
解析:foo.proto == Foo.prototype
实例的 __proto__属性指向的是 构造函数的prototype
有代码 function foo(){ var a=10; return function(){ console.log(a++) } } foo()(); 运行之后,会在控制台中打印
A 10
B 11
C 函数体
D 报错
正确答案: A
解析:a++,加加在后,先赋值后加
arguments对象是
A 函数中的参数
B 函数中参数的数组
C 函数中含有参数的伪数组对象
D 空
正确答案: C
解析:参数数组
call和applay一下说法不正确的是
A 可以执行函数
B 可以带入参数
C 可以改变调用函数中this的指向
D 可以创建函数
正确答案: D
var obj = {1 : 1};
var arr = [1,1];
console.log(obj + arr);
A 1
B 2
C [object Object]1,1
D 1,1[object Object]
正确答案: C
关于this的几种表述错误的是
A this所在函数是事件处理函数,this是事件源
B this所在函数没有明确额的隶属对象,那么this是window对象
C Let a = 123; 那么this.a中的this表示window对象
D this所在函数是构造函数时,this是new出来的对象
正确答案: A
关于设计模式,下面哪个是错误的
A 工厂方法模式
B 路由器模式
C 策略模式
D 观察者模式
正确答案: B
在ES6(2015)中,哪个是原先没有的名词
A 函数
B 类
C 递归
D 过程
正确答案: B
以下哪个方法不能发起异步请求
A $.get()
B $.post()
C $.json()
D . a j a x ( ) 正 确 答 案 : C 解 析 : A 、 B 、 D 均 是 j q u e r y 类 本 身 的 异 步 请 求 方 法 C 选 择 项 中 的 .ajax() 正确答案: C 解析:A、B、D均是jquery类本身的异步请求方法 C选择项中的.ajax()正确答案:C解析:A、B、D均是jquery类本身的异步请求方法C选择项中的.json()为干扰项,无此用法
混合继承是
A 混合了构造函数继承和原型链继承
B 其它都不对
C 混合了es6继承和原型链继承
D 混合了构造函数继承和es6继承
正确答案: A
jq中设置属性的方法是
A attr
B setAttr
C getAttr
D attribute
正确答案: A
解析:attr()可以接受两个参数,一个参数表示获取属性值,两个参数表示设置属性值
jq中发起添加类名的方法是
A ajax
B addClass
C getClass
D setClass
正确答案: B
php定义变量正确的是
A var a = 5;
B $a = 10;
C int b = 6
D var $a = 12;
正确答案: B
在用浏览器查看网页时出现404错误可能的原因是 ( ) 代表网页不存在没有找到文件
A 页面源代码错误
B 文件不存在
C 与数据库连接错误
D 权限不足
正确答案: B
同步和异步执行分别表示什么含义()
A 按顺序依次执行和同时分开执行
B 同时分开执行和按顺序依次执行
C 按一致的速度执行和按不同的速度执行
D 按相同的步骤执行和按不同的步骤执行
正确答案: A
解析:生活中的同步和代码中的不一样
XMLHttpRequest 对象的 status 属性表示当前请求的 http 状态码,其中()表示正确返回。
A 200
B 301
C 500
D 404
正确答案: A
解析:500服务器错误,301重定向,404请求资源未找到
function People(name, age) { this.name = “xixi”, this.age = 18 return {} } var obj = new People(); People 函数被new调用之后的返回值(obj)是?
A {}
B {name: “xixi” age: 18}
C 报错
D 函数体本身
正确答案: A
解析: return 对象比实例返回优先级更高
下面函数运行的结果是 function fn6(fn) { return fn(3,5); } function fn7(a,b) { return a+b; } function fn8(a,b) { return a*b; } var s=fn6(fn7); var s1=fn6(fn8); console.log(s,s1);
A 3,5
B 5,3
C 8,15
D 15,8
正确答案: C
解析:这是一个回调函数的使用
闭包的好处说法不对的
A 缓存变量
B 防止命名冲突
C 可能造成内存泄露
D 减少内存使用率
正确答案: D
ES5中不能实现继承的关键字
A prototype
B call
C apply
D extends
正确答案: D
不属于面向的对象思想的是
A 封装
B 继承
C 多态
D 抽象
正确答案: D
有代码 function Foo(){}; var foo = new Foo(); 下列表达式运算结果为true的选项为
A Foo.prototype == Foo.proto
B foo.prototype == Foo.proto
C foo.proto == Foo.prototype
D foo.proto == Foo.proto
正确答案: C
解析:foo.proto == Foo.prototype
实例的 __proto__属性指向的是 构造函数的prototype
关于原型对象以下说法错误的是
A 每一个函数都有一个原型对象
B 每一个构造函数都有一个原型对象
C 原型对象上的属性和方法能被实例访问
D 原型对象上的属性和方法能被子类(代码里)访问
正确答案: D
解析:原型对象上的属性和方法能被实例访问
有代码 function foo(){ var a=10; return function(){ console.log(a++) } } foo()(); 运行之后,会在控制台中打印
A 10
B 11
C 函数体
D 报错
正确答案: A
解析:a++,加加在后,先赋值后加
下列jquery对象方法中返回布尔值的是
A not()
B has()
C hasClass()
D fiter()
正确答案: C
解析:hasClass()有类名返回true,没有返回false
有代码 var name = ‘global’;
var obj = { name : ‘obj’,
dose : function(){
this.name = ‘dose’;
return function(){
return this.name;
}
}
}
console.log(obj.dose().call(this)); 问在控制台打印的结果为
A global
B obj
C dose
D undefined
正确答案: A
解析:obj.dose().call(this)
obj.dose()返回的是函数function(){ return this.name; }
call(this)是调用了函数function(){ return this.name; } 并且使用window改变了函数中的this,所有this.name就是window.name
关于jquery插件,描述错误的是
A 使用jquery插件可以提高开发效率
B jquery插件可以通过jquery对象调用
C jquery插件无法实现链式调用
D jquery插件一般都需要考虑参数设置问题
正确答案: C
解析:只要返回值是jq中的对象,就可以链式调用
下面程序返回的值是 var obj={ _instance:null, createDiv:function () { if(!this._instance){ this._instance=document.createElement(“div”); } return this._instance; } }; var div1=obj.createDiv(); var div2=obj.createDiv(); console.log(div1===div2);
A true
B false
C 报错
正确答案: A
解析:这是一个单例的使用
以下不是闭包特点的是
A 函数嵌套函数
B 函数内部可以引用外部的参数和变量
C 参数和变量不会被垃圾回收机制回收
D 返回的函数可以不用存储在外部变量中
正确答案: D
解析:返回的函数必须存储在外部变量中
函数的length属性是
A 函数的行数
B 函数的参数个数
C 函数的返回个数
D 永远是0
正确答案: B
解析:函数的length是参数的个数
执行下列程序的结果会是 var obj1=(function(){ return { a:1, b:2, fun2:function(){ console.log(this.a+this.b); } } })(); obj1.fun2();
A 3
B 4
C 1
D 2
正确答案: A
var obj = {1 : 1};
var arr = [1,1];
console.log(obj + arr);
A 1
B 2
C [object Object]1,1
D 1,1[object Object]
正确答案: C
var name = 10; var obj = {} console.log(name + 10 + obj )
A 20[object Object]’
B ‘1010[object Object]’
C “1010”
D 20
正确答案: B
在jQuery中$变量是什么数据类型
A object
B array
C number
D function
正确答案: A
jQuery中判断元素是否包含某个类名的方法是
A headClass
B hadClass
C haveClass
D hasClass
正确答案: D
关于闭包理解,下列描述错误的是
A 闭包就是能够访问自由变量的函数
B 如果闭包使用不当,容易造成内存泄漏
C 使用闭包常见的方式有传入一个函数参数,或者返回一个函数
D 闭包函数运行结束后,其中产生的数据会随着函数的结束而自动销毁掉
正确答案: D
解析:概念题,普通函数内的局部变量在函数调用结束后自动销毁
闭包函数运行结束后,产生的数据仍会保存在内存中
什么是闭包
A 闭包是指有权访问另一个函数作用域中的变量的函数
B 闭包是指有权访问任意函数作用域中的变量的函数
C 闭包是指有权访问全局个函数作用域中的变量的函数
D 闭包是指有权访问局部个函数作用域中的变量的函数
正确答案: A
原型的概念
A 每声明一个function,都有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
B 每声明一个对象,都有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
C 每声明一个function,都有__proto___原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
D 每声明一个function,都没有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
正确答案: A
解析:原理题,每一个函数都有一个原型对象prototype
jq中发起添加类名的方法是
A ajax
B addClass
C getClass
D setClass
正确答案: B
在用浏览器查看网页时出现404错误可能的原因是 ( ) 代表网页不存在没有找到文件
A 页面源代码错误
B 文件不存在
C 与数据库连接错误
D 权限不足
正确答案: B
一个php后缀的文件,可以在什么环境下执行()
A mysql数据库
B 浏览器
C Apache服务器
D Windows系统
正确答案: C
HTTP协议的默认端口号是多少?( )
A 8080
B 8888
C 80
D 3306
正确答案: C
XMLHttpRequest 对象的 status 属性表示当前请求的 http 状态码,其中()表示正确返回。
A 200
B 301
C 500
D 404
正确答案: A
解析:500服务器错误,301重定向,404请求资源未找到
执行下列程序的结果是 function fn3() { arguments.callee.play(); } fn3.play=function () { console.log(“aaa”); }; fn3()
A 报错
B 空值
C play
D “aaa”
正确答案: D
解析:callee的使用
callee是对象的一个属性,该属性是一个指针,指向参数arguments对象的函数。
callee 是 arguments 对象的一个属性。它可以用于引用该函数的函数体内当前正在执行的函数。这在函数的名称是未知时很有用,例如在没有名称的函数表达式 (也称为“匿名函数”)内。