JavaScript练习题、面试题

一、单选题

  1. 不能进行强制类型转化的为
    A parseInt
    B parseFloat
    C Number
    D Math.floor
    正确答案: D
    解析: Math.floor是向下取整
  2. 不属于同源策略限制条件的
    A 端口
    B 协议
    C 域名
    D 网址
    正确答案: D
    解析:无
  3. alert(username);
    var username=“leson”;
    结果为
    A undefined
    B leson
    C null
    D 报错
    正确答案: A
    解析:变量提升,预解析
  4. Jq中找到指定div元素id为user错误的
    A $("#user")
    B $("#"+“user”)
    C $(“div[id=user]”)
    D $(“div[id==user]”)
    正确答案: D
    解析:元素获取
  5. 有代码 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
  6. jquery对象转换成原生DOM对象的方法是
    A index()
    B get()
    C eq()
    D find()
    正确答案: B
    解析:$('div').get(0)获取原生dom元素
  7. 有代码 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
  8. 关于jquery插件,描述错误的是
    A 使用jquery插件可以提高开发效率
    B jquery插件可以通过jquery对象调用
    C jquery插件无法实现链式调用
    D jquery插件一般都需要考虑参数设置问题
    正确答案: C
    解析:只要返回值是jq中的对象,就可以链式调用
  9. 下面程序返回的值是 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
    解析:这是一个单例的使用
  10. 以下不是闭包特点的是
    A 函数嵌套函数
    B 函数内部可以引用外部的参数和变量
    C 参数和变量不会被垃圾回收机制回收
    D 返回的函数可以不用存储在外部变量中
    正确答案: D
    解析:返回的函数必须存储在外部变量中
  11. 函数的length属性是
    A 函数的行数
    B 函数的参数个数
    C 函数的返回个数
    D 永远是0
    正确答案: B
    解析:函数的length是参数的个数
  12. arguments对象是
    A 函数中的参数
    B 函数中参数的数组
    C 函数中含有参数的伪数组对象
    D 空
    正确答案: C
    解析:参数数组
  13. JS中,下面哪个不是创建函数的方式
    A 声明函数
    B 函数表达式
    C Function构造函数
    D class函数
    正确答案: D
    解析:无
  14. 下面一段代码,请问,输出结果是 for (var i = 1; i < 3; i++) { setTimeout( function timer() { console.log(i); }, 1000 ); }
    A 1 2
    B 1 2 3
    C 3 3
    D 3 3 3
    正确答案: C
    解析:延时器和循环是异步,同时执行 延时器把循环两次的值全部存了起来 循环结束 取到两个3,此处如果是用let声明变量 此处应选A选项
  15. 在ES6(2015)中,哪个是原先没有的名词
    A 函数
    B 类
    C 递归
    D 过程
    正确答案: B
    解析:无
  16. jQuery中的delay方法的作用是
    A 停止动画执行
    B 暂停动画执行
    C 延迟动画执行
    D 开始动画执行
    正确答案: C
    解析:识记题
  17. jQuery哪个方法可以清空对象内所有的子元素
    A remove()
    B removeAll()
    C deleteAll()
    D empty()
    正确答案: D
    解析:remove()将自身及子元素移除empty()清空所有子元素,包括文本节点
  18. 什么是闭包
    A 闭包是指有权访问另一个函数作用域中的变量的函数
    B 闭包是指有权访问任意函数作用域中的变量的函数
    C 闭包是指有权访问全局个函数作用域中的变量的函数
    D 闭包是指有权访问局部个函数作用域中的变量的函数
    正确答案: A
    解析:概念题
  19. 原型的概念
    A 每声明一个function,都有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
    B 每声明一个对象,都有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
    C 每声明一个function,都有__proto___原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
    D 每声明一个function,都没有prototype原型,prototype原型是函数的一个默认属性,在函数的创建过程中由js编译器自动添加
    正确答案: A
    解析:原理题,每一个函数都有一个原型对象prototype
  20. 混合继承是
    A 混合了构造函数继承和原型链继承
    B 其它都不对
    C 混合了es6继承和原型链继承
    D 混合了构造函数继承和es6继承
    正确答案: A
    解析:概念题
  21. $(document).ready()和window.onload 有什么区别
    A window.onload方法是在网页中所有的元素完全加载到浏览器后才执行,$(document).ready() 可以在DOM载入就绪是就对其进行操纵
    B 没有区别
    C $(document).ready()方法是在网页中所有的元素完全加载到浏览器后才执行,$(document).ready() 可以在DOM载入就绪是就对其进行操纵
    D 两者作用不一样
    正确答案: A
    解析:onload包含文档和资源加载完毕ready指文档加载完毕
    jq中发起添加类名的方法是
    A ajax
    B addClass
    C getClass
    D setClass
    正确答案: B
    解析:识记题
  22. jq中实现动画的方法是
    A $.animate
    B $().animate
    C animate
    D $.startMove
    正确答案: B
    解析:animate()是jQuery实例方法,调用示例:
    $("div").animate();
  23. es6继承的语法
    A class
    B class extends
    C class.prototype
    D class extend
    正确答案: B
    解析:语法题 例如 class A extends B{}
  24. 在用浏览器查看网页时出现404错误可能的原因是 ( ) 代表网页不存在没有找到文件
    A 页面源代码错误
    B 文件不存在
    C 与数据库连接错误
    D 权限不足
    正确答案: B
    解析:无
  25. 同步和异步执行分别表示什么含义()
    A 按顺序依次执行和同时分开执行
    B 同时分开执行和按顺序依次执行
    C 按一致的速度执行和按不同的速度执行
    D 按相同的步骤执行和按不同的步骤执行
    正确答案: A
    解析:生活中的同步和代码中的不一样
  26. HTTP协议的默认端口号是多少?( )
    A 8080
    B 8888
    C 80
    D 3306
    正确答案: C
    解析:无
  27. 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 对象比实例返回优先级更高
  28. 以下运行的结果是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 的实例

二、多选题

  1. 面关于构造函数的优点,描述正确的有哪些?
    A 构造函数可以通过new关键字创建对象,对象的创建比较规范
    B 构造函数只能创建一个对象
    C 可以解决多个同类对象创建时,代码重复的问题
    D 构造函数创建的对象,创建出的对象是相等关系
    正确答案: A,C
    解析:无
  2. 下面哪些关键字不可以实现删除实例属性?
    A delete
    B has
    C instanceof
    D add
    正确答案: B,C,D
  3. 以下说法正确的是?
    A 类是对象的抽象化
    B 对象是类的具象化
    C 对象是类的实例化
    D 对象就是类
    正确答案: A,B,C
    解析:在js中,类是构造函数
  4. 以下哪些是设计模式?
    A 单例模式
    B 观察者模式
    C 工厂模式
    D 原型模式
    正确答案: A,B,C,D
    解析:无
  5. 对象设置属性和属性值的方法正确的是?
    A obj.name=3
    B obj[“name”]=3
    C obj{name} = 3
    D Obj->name=3;
    正确答案: A,B
    解析:无
  6. jquery中获取对象的方式正确的是?
    A $()
    B jQuery()
    C jquery()
    D $jQuery()
    正确答案: A,B
  7. 获取
    内容
    标签里的文本内容
    A $("#content").val();
    B $("#content").html();
    C $("#content").text();
    D $("#content").innerHTML();
    正确答案: B,C
    解析:
    val()获取表单元素
    value值的html()获取元素内容的,包含html结构
    text()获取元素文本内容的
    innerHTML是原生DOM对象的属性,无此方法
  8. 关于prototype原型和原型链说法正确的是
    A Javascript的继承机制基于原型,而不是Class类
    B 凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象
    C 普通对象没有prototype,但有__proto__属性
    D prototype属性(对象)会默认获得一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针
    正确答案: A,B,C,D
    解析:概念题 ABCD均对
  9. 闭包的特点
    A 函数嵌套函数
    B 函数内部可以引用外部的参数和变量
    C 函数内部只能引用内部的参数和变量
    D 函数必须有返回值
    正确答案: A,B,C,D
    解析:jquery最大的特点在查询,并封装了大量的方法进行DOM操作,事件处理及ajax请求等
  10. 下面是设计模式的是
    A 单例模式
    B 观察者模式
    C 测试模式
    D 视图模式
    正确答案: A,B
    解析:单例模式和观察者模式,是常见的设计模式
  11. jq选择器有哪些?
    A 类
    B id
    C 标签
    D 以上都可以
    正确答案: A,B,C,D
    解析:css中的选择器都可以在jq中使用
  12. 在php中,下列哪些是输出(打印)函数。( )
    A print
    B echo
    C print_r
    D write
    正确答案: A,B,C
    解析:无
  13. 前后端开发过程中,解决跨域的方法有那些。( )
    A 后端代理
    B jsonp
    C xhr2
    D ajax
    正确答案: A,B,C
    解析:无
  14. jquery绑定事件的方法有
    A one
    B bind
    C addEvent
    D on
    正确答案: A,B,D
    解析:addEvent不是一个事件
  15. 关于jQuery的优点说法正确的是
    A 最少的代码做多的事情
    B 性能支持比较好
    C 节约学习成本
    D 让DOM操作变的简单
    正确答案: A,B,C,D
    解析:无
  16. 下面是jquery方法的是
    A $(".box").attr()
    B $(".box").css()
    C $(".box").remove()
    D $(".box").html()
    正确答案: A,B,C,D
    解析:无
  17. Jq中关于dom 增删改的操作有
    A append
    B appendTo
    C remove
    D detach
    正确答案: A,B,C,D
    解析:几个都是dom操作的方法
  18. jq中关于操作元素节点class属性的操作有
    A addClass
    B removeClass
    C attr(“class”, “box”)
    D setClass
    正确答案: A,B,C
    解析:A是添加类名
    B是删除类名
    C是切换类名
  19. 执行这个程序后打印的结果forEach=function (arr,fn) { for(var i=0,l=arr.length;i A 0 10
    B 3 7
    C 2 4
    D 5 5
    正确答案: A,B,D
    解析:无

你可能感兴趣的:(JavaScript练习题、面试题)