博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript试题【解析+答案】
阅读量:7116 次
发布时间:2019-06-28

本文共 3084 字,大约阅读时间需要 10 分钟。

  偶然看到javascript试题,整理了一下,转于下,日后好好研读。

  在线测试,参考网页

  答案位于文章底部

1. 

(function(){      return typeof arguments;  })(); 
  1. “object”
  2. “array”
  3. “arguments”
  4. “undefined”
问自动执行函数会返回什么值?// 就是考Arguments对象的typeof,看平时用firebug多不多了……   

2.

var f = function g(){ return 23; };  typeof g(); 
  1. “number”
  2. “undefined”
  3. “function”
  4. Error
//问最后一行的执行结果 //根据标准,命名函数表达式的函数名只对函数体内可见,因此报错

 

 

------------------------------------------------

  博主经营一家发饰淘宝店,都是纯手工制作哦,开业冲钻,只为信誉!需要的亲们可以光顾一下!谢谢大家的支持!

店名:
  
经营:
  发饰、头花、发夹、耳环等(手工制作)
网店:
  

  ---------------------------------------------------------------------

继续正题... 

  

3.

(function(x){    delete x;    return x;  })(1); 
  1. 1
  2. null
  3. undefined
  4. Error
//问自动执行函数会返回什么值  // 参数不可删除  ,1

4.

var y = 1, x = y = typeof x;  x; 
  1. 1
  2. “number”
  3. undefined
  4. “undefined”
//问最后一行的执行结果 //声明两个变量x与y,y最初赋为1,x没有赋值,默认赋给window的一个属性undefined,//因此typeof undefined为"undefined",最后x= y= "undefined"

5.

(function f(f){    return typeof f();  })(function(){ return 1; }); 
  1. “number”
  2. “undefined”
  3. “function”
  4. Error
//问自动执行函数会返回什么值  //函数名被优先级更高的参数名覆盖了 -, (function (f){     return typeof f();  })(function(){ return 1; }); typeof 1 ---> "number"

6.

var foo = {    bar: function() { return this.baz; },    baz: 1  };  (function(){    return typeof arguments[0]();  })(foo.bar); 
  1. “undefined”
  2. “object”
  3. “number”
  4. “function”
//动执行函数会返回什么值 ? 我们把下面那个自动执行函数分解一下  var a = function(){    return typeof arguments[0]();};  a(foo.bar)执行完arguments[0](),即得到this.baz 由于this变量在此绑定失效,它指向window,window有bax变量吗?  没有,返回"undefined"

7.

var foo = {    bar: function(){ return this.baz; },    baz: 1  }  typeof (f = foo.bar)(); 
  1. “undefined”
  2. “object”
  3. “number”
  4. “function”
//后一行的执行结果?我们把最后一行分解一下  window.f  f= foo.bar  f()  typeof f()  返回"undefined"

8.

var f = (function f(){ return "1"; }, function g(){ return 2; })();  typeof f; 
  1. “string”
  2. “number”
  3. “function”
  4. “undefined”
//最后一行执行结果?首先要理解分组选择符,最后a会赋给什么呢?   var a = (1,2,3);   alert(a) ---> 3  那么这就简单了,f = function(){return 2};typeof f() ---> number

9.

var x = 1;  if (function f(){}) {    x += typeof f;  }  x; 
  1. 1
  2. “1function”
  3. “1undefined”
  4. NaN
//x的值函数声明只能裸露于全局作用域下或位于函数体中。  从句法上讲,它们不能出现在块中,例如不能出现在  if、while 或 for 语句中。因为块只能包含语句,  因此if()中的f函数不能当做函数声明,当成表达式使用可能在预编译阶段做了如下处理  if((XXX = function(){}))  因此我们是找不到f的 , 1,undefined

10.

var x = [typeof x, typeof y][1];  typeof typeof x; 
  1. “number”
  2. “string”
  3. “undefined”
  4. “object”
//最后一行执行结果?数组其实就是这个样子["undefined","undefined"]"string"

11.

(function(foo){    return typeof foo.bar;  })({ foo: { bar: 1 } }); 
  1. “undefined”
  2. “object”
  3. “number”
  4. Error
//自动执行函数的返回值?分解一下   var bb = { foo: { bar: 1 } }    (function(j){      return typeof j.bar   })(bb)   "undefined"  注意那个对象只有foo属性,没有bar属性

12.

(function f(){    function f(){ return 1; }    return f();    function f(){ return 2; }  })(); 
  1. 1
  2. 2
  3. Error (e.g. “Too much recursion”)
  4. undefined
//自动执行函数的返回值?函数声明会在预编译阶段被提前 ,2

13.

function f(){ return f; }  new f() instanceof f; 
  1. true
  2. false
//最后一行结果?由于函数f会返回自身,这个new 就形同虚设如果f的形式为 function f(){return this}或function f(){}就不一样 false

14.

with (function(x, undefined){}) length; 
  1. 1
  2. 2
  3. undefined
  4. Error
//求length的值?with就是一个读写器,题意是取出函数的length属性 而函数的length就是指它形参的长度 ,2

  

答案:ADADA  AABCB  ABB

转载地址:http://nhyel.baihongyu.com/

你可能感兴趣的文章
nginx内部锁的实现
查看>>
二分查找法
查看>>
硬解码播放器上如何实现截GIF功能?
查看>>
[译] 使用 Kotlin 协程改进应用性能
查看>>
为什么ES6新增了Promise对象来处理异步调用
查看>>
珍惜每一个假期
查看>>
解决循环引用
查看>>
使用harbor和nexus作为docker registry
查看>>
rdc第四天
查看>>
关于 Android studio 在xml中不提示的问题
查看>>
Spring系列之AOP分析开篇(一)
查看>>
关于Android中多module使用fat-aar合并的坑
查看>>
同时兼容iOS、Android、微信小程序的UI引擎
查看>>
KVC的取值赋值
查看>>
Vue2.x+axios+iview+mui带你撸一个App
查看>>
首屏预渲染方案
查看>>
Day7:html和css
查看>>
什么是 5G?它比 4G 好在哪里?
查看>>
[译] C++ 和 Android 本地 Activity 初探
查看>>
MJRefresh源码解读
查看>>