javascript职业技能基础测试C1

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.因为它允许事件委托

包含键盘的各种详细信息

  1. 如何扩展对象方法?
    在创建的对象上加方法
    在创建对象的原型上加方法
    在构造函数原型上加方法
    在构造函数上加方法
    ES5最常用的方式
  2. new 操作符干了什么?
    创建一个空对象
    调用函数
    将this指向对象
    返回执行上下文
    前三个是new做的,最后是瞎写的
  3. 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 对象
    回调函数经常作为一个函数的参数去执行
    1. 关于IIFEs,说法正确的是?
      1. 只调用一次
      2. 不能接收参数
      3. 使用bind方法
      4. 使外部能函数内部变量
        这题考基础知识和对js技术的关注程度,IIFE都不知道是什么,很可能你不关注js太多。
    2. 为什么call方法在方法借用上很有用?
      1. 因为它能把变量从全局对象window身上解绑
      2. 因为它能手动的改变this指向
      3. 因为它能从原来的对象身上解绑方法
      4. 因为它能一次执行多个方法
        这道题还是看你js技术深度,中等难度。
    3. 下面那个函数能够创建一个带默认参数的新方法?
      1. apply
      2. bind
      3. call
      4. pre
        砍工资的题,可以不知道。
    4. 关于封装,下列说法正确的是?
      1. 私有方法能被外部访问
      2. 暴露方法能够被外部访问
      3. 其它代码不能覆盖私有方法
      4. 暴露的接口有时候被叫做api
        基础知识,不能不会。
    5. 在Module模式中,为什么公共方法能够访问私有变量和函数?
      1. 因为this 指向 IIFES
      2. 因为公共方法继承自私有方法
      3. 因为他们在同一个作用域
      4. 因为必包
        这个考察设计模式,和对框架的了解程度,属于考察技术深度的,可以不会。

你可能感兴趣的:(javascript职业技能基础测试C1)