精彩题目收集-javascript(第一卷)

来源:互联网 发布:苹果远程桌面windows 编辑:程序博客网 时间:2024/05/22 08:07

给定下面的 HTML 代码:

    <div id=”wrapper”>        <div class=”wText”></div><!—more wText items here -->        <div class=”wImg”></div><!—more wImg items here -->        <div class=”wVideo”></div><!—more wVideo items here -->    </div>

怎么能够取得 ”wrapper” 中全部项的集合?

  • A . $(‘#wrapper’).children();

  • B . $(‘#wrapper’).html();

  • C . $(‘#wrapper’).contents();

  • D . $(‘#wrapper’).find(“all”);

正确答案C
解释:
$(‘#wrapper’).children(); //(只沿着 DOM 树向下遍历单一层级)查询直接的子元素。而不管子元素的子元素。

$(‘#wrapper’).html(); //返回的是dom结构。而不是集合;

$(‘#wrapper’).contents();

$(‘#wrapper’).find(“all”); //并没有all这个元素


当/的两边都是整数时,/表示整除,是否正确?

正确答案 : 错误
这里写图片描述
js 会得到其相除的浮点数结果


根据下列代码 下面描述正确的是

function * gen() {    yield 1;    yield 2;    yield 3;}
  • A . gen()执行后返回2
  • B . gen()执行后返回undefined
  • C . gen()执行后返回一个Generator对象
  • D . gen()执行后返回1

function*声明 (function关键字后跟一个星号)定义了一个 生成器函数 ( generator function ),它返回一个 Generator 对象。也可以定义 生成器函数 使用构造函数 GeneratorFunction 和一个 function* expression

会返回一个Iterator实例, 然后再执行Iterator实例的next()方法, 那么这个函数才开始真正运行, 并把yield后面的值包装成固定对象并返回,直到运行到函数结尾, 最后再返回undefined;


运行以下程序

    var m= 1, j = k = 0;     function add(n) {         return n = n+1;   }     y = add(m);     function add(n) {         return n = n + 3;     }     z = add(m); 

y和z的最终结果为:


  • A . 2,4
  • B . 4,4
  • C . 2,2
  • D . 报异常

这里有陷阱,函数add声明了两次,javascript不存在函数重载的概念,第二次声明的函数会覆盖第一个;所以两次调用的函数都是第二个声明的函数。