https://m.umu.cn/ssu_xhUwb733
出了一套试题,相当于驾照科目一的难度,虽然很基础,但是目前及格人数很少。
答案
以下哪个不是基本数据类型?
number
Boolean
Text
Undefined
学习一门语言,数据类型是基础中的基础,js中基础的数据类型有 undefined string boolean number symbal
javascript操作符类似于:
变量
函数
数组
必包
操作符实现了一些功能,相当于函数
1==true 和 1 === true分别返回什么?
true、false,因为==做类型转换
false、true,因为==做类型转换
true、false,因为===做类型转换
false、true,因为===做类型转换
===比较的时候进行类型比较,==进行类型转换
true&&false返回什么?
true
undefined
false
Null
逻辑与,true&&false
true&&false返回什么?
true
undefined
false
Null
为什么“2” + 3 return “23”?
因为2转化为‘2’
因为2变量提升为‘2’
因为‘3’转化为‘3’
因为3提升为‘3’
数字3变成字符串‘3’,+变成字符串连接
函数在对象中叫什么?
方法
属性
必包
执行上下文
对象中的属性相当于变量,方法相当于函数
在浏览器中,全局执行上下文是?
document
window
object
browser
注意只有在浏览器里面才是window,node下是{}
console.log(a);var a = 12;控制台会打印什么?
12
undefine
什么都不打印,会报错
undefined
注意:变量预解析,分两步创建阶段 a = undefined,第二阶段执行,赋值。
show(); varshow = function(){console.log(12);};
12
undefine
什么都不打印,会报错
undefined
注意函数预解析会提前,函数表达式,这里就是一个变量,跟普通变量没什么区别。
第11题:
由于预解析:
变量在创建阶段赋值为undefined
变量在执行阶段赋值为Null
变量在创建阶段赋值为实际的值
变量不存在变量提升
第12题:
关于匿名函数,下列哪个说法是错的?
创建新的作用域(这种用法在以前版本jquery中常用。)
匿名函数不组成匿名函数(随便写的)
创建结束后无法再次访问(匿名函数怎么调用)
没有名字去调用(匿名函数怎么调用)
第13题
在javascript中,什么语句创建作用域?
if语句
循环语句
函数
判断和函数
javascript不同于其他语言,只有function才创建作用域
第14题
以下关于this关键字,哪种说法是错误的?
它是函数调用的时候的基本数据类型(基本数据类型就那几个)
每一个执行上下文都有this
this指向到它属于的那个对象
一旦调用,this就创建
第15题
事件在什么时候处理?
当作用域清空的时候
当执行栈清空的时候
当没有event执行的时候
没有执行的必包的时候
执行机制:限制性函数,函数栈清空后,执行事件
16题:
关于事件委托,下列说法错误的是?
1.给未来元素加事件
2.为了提高性能
3.在无法确定元素数量的时候可以使用
4.事件可以委托在子元素身上
子元素事件绑定到父元素上,因为冒泡机制,所以能够这么做,所以4是错的。
17.题
为什么我们需要键盘事件对象?
1.因为它包含keyCode
2.因为它包含target 元素
3.因为它允许事件冒泡
4.因为它允许事件委托
包含键盘的各种详细信息
- 如何扩展对象方法?
在创建的对象上加方法
在创建对象的原型上加方法
在构造函数原型上加方法
在构造函数上加方法
ES5最常用的方式 - new 操作符干了什么?
创建一个空对象
调用函数
将this指向对象
返回执行上下文
前三个是new做的,最后是瞎写的 - javascript中函数是对象吗?
true,因为函数预解析
false,因为函数是基本数据类型
true,因为它的原型是对象
false,因为它不是继承自对象
函数可以通过new 创建
21 var arr1 = [12,5,8]; var arr2 = arr1; arr2[0] = 9;console.log(arr1[0]);
A. 12
B. 9
C. Undefined
D. Null
对象赋值是引用,不是复制。
22.var arr =[]; 为什么我们直接可以使用arr的map方法?
因为作用域链
因为属性继承
因为原型继承
因为this关键字
map在 Array 上自带,arr可以通过原型继承。
23.map和forEach的区别不对的是?
A. map速度比foreach快 (这里面试官容易问你如何测试 )
B. map会返回一个新数组
C. forEach会返回一个新数组
D. map可以链式操作
这一道题就可以测试出你js水平。是否敲过代码等。
24.函数 fn1里面定义一个变量a,函数fn2里面能访问a吗?
A能,因为作用域链
B能因为原型链
C不能,因为作用域链
D不能因为原型链
自己没有找它爸,他爸没有顺着作用域链找,但是不能上别人的函数里面去找。
25什么是回调函数?
一个包含必包的函数
一个函数作为另外一个函数的参数
一个函数代原型链
一个函数继承自callback 对象
回调函数经常作为一个函数的参数去执行- 关于IIFEs,说法正确的是?
- 只调用一次
- 不能接收参数
- 使用bind方法
- 使外部能函数内部变量
这题考基础知识和对js技术的关注程度,IIFE都不知道是什么,很可能你不关注js太多。
- 为什么call方法在方法借用上很有用?
- 因为它能把变量从全局对象window身上解绑
- 因为它能手动的改变this指向
- 因为它能从原来的对象身上解绑方法
- 因为它能一次执行多个方法
这道题还是看你js技术深度,中等难度。
- 下面那个函数能够创建一个带默认参数的新方法?
- apply
- bind
- call
- pre
砍工资的题,可以不知道。
- 关于封装,下列说法正确的是?
- 私有方法能被外部访问
- 暴露方法能够被外部访问
- 其它代码不能覆盖私有方法
- 暴露的接口有时候被叫做api
基础知识,不能不会。
- 在Module模式中,为什么公共方法能够访问私有变量和函数?
- 因为this 指向 IIFES
- 因为公共方法继承自私有方法
- 因为他们在同一个作用域
- 因为必包
这个考察设计模式,和对框架的了解程度,属于考察技术深度的,可以不会。
- 关于IIFEs,说法正确的是?
网友评论