JavaScript期末复习——2019级Java方向JavaScript课程学习通练习及详解

作业部分

一、初识JavaScript

1.

当前JavaScript标准版本最新的是 ES6

2.

以下关于JavaScript在Web前端的用途:

  • 可以读写当前页面的cookie信息。
  • 可以操作当前页面所在的浏览器窗口。
  • 可以操作当前页面中的任何元素及其内容。

错误的是:可以读写当前计算机本地的文件。

3.

属于JavaScript特点的是:

  • 基于原型
  • 跨平台
  • 动态类型

不属于JavaScript特点的是:编译型

4.

指定JavaScript语言标准的组织是 ECMA

5.

JavaScript在诞生之初的名称为 LiveScript

二、语句与变量

1.

在HTML中使用JavaScript的做法正确的是:

D. 当使用< script src=“url”>< /script>引入外部.js文件时,不能在其中再加入JavaScript代码。

应该在下方再写< script>标签加入JavaScript代码。

错误的是:

  • A. JavaScript代码必须放在< script>< /script>之间。
    • JavaScript 代码通常插入在<script></script>标签之间。
  • B. < script>标签只能在当前页面出现一次。
    • 在Html文档中可以编写任意多的script标签,编写任意多的js代码。script标签可以放在<body>, 或<head>中。
  • C. < script src=“url”>< /script>其中url可以是本地.js文件路径。

2.

关于JavaScript语法说法正确的是:

C. JavaScript中//表示单行注释,/*… */表示多行注释

错误的是:

  • A. JavaScript是不区分大小写
    • 严格区分
  • B. JavaScript与JAVA是同一种语言
    • 毫无关系
  • D. JavaScript中的变量必须要使用var声明后才能使用
    • 弱类型语言不必须声明

3.

声明变量语句中,正确的是:

B. var my_home

错误的是:

  • A. var break
    • 使用保留的关键字或者保留字
  • C. var our class
    • 单词分离
  • D. var 2cats
    • 变量名可以由数字、字母、下划线、$组成,但是 不能以数字开头

另外:

严格区分大小写。

建议遵守的,约定俗成的,推荐使用小驼峰命名法, 除第一个单词意外 其他单词首字符大写 username — userName userpwd — userPwd

4.

JavaScript中变量名的只能包含字母(区分大小写)、数字、下划线_、美元符$。

5.

变量声明后未赋值,该变量的类型为 undefined

6.

JavaScript中,变量的作用域分为全局变量局部变量

7.

在全局环境下用var声明的变量,JS引擎将其绑定在 window/全局 对象之上,作为其属性。

三、数据类型

1.

执行以下语句后,执行结果是:

var iNum = 10;

iNum += 10; //20

var inum2 = ++iNum; //21

alert(inum2); //21

2.

以下表达式的结果为NaN的是:

C. “十八”*“十九” NaN是JS中的Number类型,它表示Not A Number(不是数字)任何值和NaN比较都不相等。非数字、非数值

  • A. “80”+“19” String类型
  • B. “十八”+“十九” String类型
  • D. “18”*“19” Number类型

3.

以下将数值转换为字符串的做法错误的是?D

  • A. var num=10; var str=num.toString();
    • 它不能把null和undefined转换为字符串。
  • B. var num=10; var str=num+””;
    • 这种方法是使用加法运算符配合一个空字符串,可以把任意值转换为字符串,这种方法的可读性很差
  • C. var num=10; var str=String(num);
    • **这种方法可读性更好。**因为String同时也是一个构造函数,要注意的是它作为普通函数和作为构造函数时的表现完全不同。
  • D. var num=10; var str=num-“”;

4.parseFloat()

表达式parseFloat(“12.3.4b“)的结果是: 12.3

parseFloat 会忽略字符串前面的空格,从第一个字符开始解析直到遇见一个无效的浮点数字字符为止(也就是字符串中第一个小数点是有效的而字符串中的第二个小数点是无效的)

5.Number()

表达式Number(“12.6b”)执行结果正确的是: NaN

Number():

1)如果是Boolean值,true和false将分别转换为1和0。

2)如果是数字值,只是简单的传入和返回。

3)如果是null值,返回0。

4)如果是undefined,返回NaN。

5)如果是字符串,遵循下列规则:

​ 如果是字符串中只包含数字(包括前面带正号或负号的情况),则将其转换为十进制数值,即“1”变成1,“123”会变成123,而“011”会变成11(前导的零被忽略了);
​ 如果字符串中包含有效的浮点格式,如“1.1”,则将其转换为对应的浮点数值(同样也会忽略前导零);
​ 如果字符串中包含有效的十六进制格式,例如"0xf",则将其他转换为相同大小的十进制整数值;
​ 如果字符串是空的(不包含任何字符),则将其转换为0;
如果字符串中包含除上述格式之外的字符,则将其他转换成NaN.
6)如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的结果是NaN,则调用的对象的toString()方法,然后再次依照前面的规则转换返回的字符串值。

6.

JavaScript函数中,= 符号表示赋值,== 符号表示值相等 , === 符号表示数据类型和值都相等(恒等)。

7.

JavaScript中,变量的作用域分为 全局变量局部变量

四、函数

1.

funciton fun(a=0, b=0){

return a+b;

}

console.log(fun()); //输出为0

console.log(fun(12); //输出为12

console.log(fun(undefined, 14); //输出为14

2.

console.log(fun); //输出为 Undefined

var fun=function(a, b){

return a*b;

};

console.log(fun(10, 10)); //输出为 100

var fun1 = fun;

console.log(fun1( 12, 10)); //输出为120

3.alert( )、confirm( )

JavaScript中,弹出消息对话框的函数是alert( ),弹出确认对话框的函数是confirm( )。

JavaScript弹出对话框的三种方式:

alert()警告框(确定)

alert()方法是显示一条弹出提示消息和确认按钮的警告框。
需要注意的是 :
alert()是一个阻塞的函数,如果不点确认按钮,后面的内容就不会加载出来。
使用方式:
alert(“想要提示的文本内容”)

confirm()弹出个确认框 (确定,取消)

confirm()方法是显示一个含有指定消息和确认和取消按钮的确认框。
如果点击"确定"返回true,否则返回false。
使用方式:
(1)不接收返回值:
confirm(“这样写可以直接显示,不接收返回值。”)
(2)接收返回值:
var x;
var r=confirm(“请按下按钮!”);
if (r==true){
x=“你按下的是"确定"按钮。”;
}
else{
x=“你按下的是"取消"按钮。”;
}
document.write(x)

prompt()提示框(弹出个输入框 让你输入东西)

prompt()方法是显示提示用户进行输入的对话框。
这个方法返回的是用户输入的字符串。
使用方式:
(1)不显示默认文本:
prompt(“开心吗?”); // 这个显示内容也可以不写,但就没有交互的意义了。
(2)显示默认文本:
var x;
var name=prompt(“请输入你的名字”,“Keafmd”);
if (name!=null && name!=“”){
x="你好! " + name + “。”;
document.write(x)
}

4.

function fun1(a, b, callback){

if(typeof(a) == “number” && typeof(b) == “number”){

callback(a, b);

}else{

console.log(“Not a Number”);

}

}

fun1(10, 20, function(x, y){

console.log(x > y? x : y);

}); //输出为20

fun1(“10”, “20”, function(x, y){

console.log(x + y);

}); //输出为Not a Number

五、对象

1.

根据以下person对象为模板定义构造函数Person,并为每句代码加上注释,说明该句代码的作用或原理。将代码截图,以贴图的方式提交(非附件)。

要求:

  1. 根据当前对象的gender属性改变bio()方法输出中He或She。
  2. 将当前对象的interests中的所有爱好都在bio()方法输出。

code.png
在这里插入图片描述

六、数组方法

1.

var arr = [ 10, 20, 9, 30, 4 ];

var r = arr.reduce(function( a, b ){

return a - b;

});

console.log( r );//10-20-9-30-4 = -53

2.filter( )、map( )、forEach( )、some( )

以下数组的迭代方法中,用于筛选数组元素的是 filter( )

​ filter用于对数组进行过滤。

​ filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

  • A. map( )

    • map是常用到的对数组元素进行修改的重要函数。
    • map() 方法定义在JavaScript的Array中,它返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。值得注意的是:1、map()函数不会对空数组进行检测;2、map()函数不会改变原始数组,它形成的是 一个新的数组
  • B. forEach( )

    • 对数组的每个元素执行一次提供的函数。总是返回undefined;
  • D. some( )

    • some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。

      some() 方法会依次执行数组的每个元素:

      如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
      如果没有满足条件的元素,则返回false。
      注意: some() 不会对空数组进行检测。

      注意: some() 不会改变原始数组。

3.splice( )、concat( )、slice( )、pop( )、reverse( )

可以返回一个新的数组对象的数组方法:

  • C. splice( )

    • splice(index) ——> 从index的位置开始,删除之后的所有元素(包括第index个)
      若 index < 0 , 则删除最后-index个元素
      splice()函数返回删除元素数组

      eg1:

      原数组为: 0,1,2,3,4,5,6
      array.splice(2)的结果为: 0,1

      eg2:

      原数组为: 0,1,2,3,4,5,6
      array.splice(-3)的结果为: 0,1,2,3
      删除的内容为: 4,5,6

      splice(index,howmany) ——> 删除从index位置开始的数,howmany为删除的个数
      若 howmany 小于等于 0,则不删除

      eg:

      原数组为: 0,1,2,3,4,5,6
      array.splice(2,1)的结果为: 0,1,3,4,5,6 .
      删除的内容为: 2

      splice(index ,howmany , item1, …, itemX )

      index >0 时
      (1. howmany 为 0 时 不删除只添加 —— 在index位置前添加item1, …, itemX的数
      (2. howmany > 0 删除且添加 —— 在index位置前添加item1, …, itemX的数,并且删除从index位置开始的数,howmany为删除的个数
      index <0 时 最后一个数为 -1 依次倒数第二个数为-2
      (1. howmany 为 0 时 不删除只添加 —— 在-index位置前添加item1, …, itemX的数
      (2. howmany > 0 删除且添加 —— 在-index位置前添加item1, …, itemX的数,并且删除从-index位置开始的数,howmany为删除的个数

      eg1:

      原数组为: 0,1,2,3,4,5,6
      array.splice(2,0,8,9)的结果为: 0,1,8,9,2,3,4,5,6
      删除的内容为:

      eg2:

      原数组为: 0,1,2,3,4,5,6
      array.splice(-2,3,8,9)的结果为: 0,1,2,3,4,8,9
      删除的内容为: 5,6

  • D. concat( )

    • concat()方法是用于连接两个或多个数组。不会改变现有数组

      eg:

      var Array= [“hello”, “word”];
      var ArrayItem= [“java”, “C++”, “C#”];
      var ArrayData= [“name”];
      var children = Array.concat(ArrayItem,ArrayData);

      输出的结果为:
      hello,word,java,C++,C#,name

  • E. slice( )

    • slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
    • slice(start,end)
      start参数:要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
      end参数:接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
    • eg1:
      var str=“Hello happy world!”
      document.write(str.slice(6))
      JS的结果输出为:happy world!
      eg2:
      var str=“Hello happy world!”
      document.write(str.slice(6,11))
      JS的结果输出为:happy
    • eg3:
      var str=“32px”
      var str1 = str.slice(-2);
      document.write(str+“_”+str1);
      JS的结果输出为:32px_px

不可以的是:

  • A. pop( )
    • pop() 方法用于删除并返回数组的最后一个元素。
  • B. reverse( )
    • 用于颠倒数组中元素的顺序。
    • 该方法会改变原来的数组,而不会创建新的数组。

4.push( )、shift( )、sort( )、slice( )、concat( )

会修改原数组的数组对象的方法:

  • A. push( )

    • 向数组的末尾添加一个或多个元素,并返回新的长度。
  • C. shift( )

    • 用于把数组的第一个元素从其中删除,并返回第一个元素的值。
    • 如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。
  • E. sort( )

    • 对数组进行排序,并返回原数组。

      • 不传比较函数时,数字也是按照它们的字符串形式的升序排序的

      • eg:

        var arr = [12, 1, 2, 21, 3];
        arr.sort(); //得到的结果为 1,12,2,21,3

      • 传入比较函数对数值进行排序,仅当比较函数返回正值时,交换两个比较值的顺序(排序原理)。

      • eg1:升序

        var points = [40, 100, 1, 5, 25, 10];
        points.sort(function(a, b){return a-b}); //[1,5,10,25,40,100]

        eg2:降序

        var points = [40, 100, 1, 5, 25, 10];
        points.sort(function(a, b){return b-a}); //[100,40,25,10,5,1]

不会修改的是:

  • B. slice( )
  • D. concat( )

5.

var arr = [ “tom”, “jerry”, 10, {k:“remove”, v:true}, 20 ];

var a = arr.map( function( i ){

if( typeof( i ) == “number”){

return i ; //10,20

}});

console.log(a[0]);//undefined

console.log(a[2]);//10

var b = arr.filter(function( i ){

return typeof(i) == “string” && i.includes(“m”) ;

});

console.log( b );//[“tom”]

var c = arr.every(function( i ){

return i.toString;

});

console.log( c );//true

七、DOM编程基础

1.parentNode、firstChild、childNodes、nextElementSibling

以下获取元素element的相邻节点,说法错误是( C )。

  • A. element.parentNode返回对element元素父节点的引用。
  • B. element.firstChild返回对element元素第一个子节点的引用。
  • C. element.childNodes返回包含了对element所有子元素节点引用的节点集合(NodeList)。
    • childNodes 属性返回当前元素节点的子节点集合,以 NodeList 对象。
  • D. element.nextElementSibling返回对element下一个相邻元素节点的引用。

2.querySelector()

以下选择器中,哪一个可以通过document.querySelector( selector )方法获取页面中id为list的< ul>中的最后一个class属性为selected的< li>?( D

  • A. ul li.selected
  • B. ul.list li.selected
  • C. ul#list li.selected
  • D. #list li.selected:last-child

querySelector()方法可以不需要额外的jQuery等支持,也可以方便的获取DOM元素,语法跟jQuery类似。

querySelector() 方法仅仅返回匹配指定选择器的第一个元素。如果你需要返回所有的元素,请使用 querySelectorAll() 方法替代。

3.

DOM API中可以获取单个元素对象的方法是( A )。

  • A. document.getElementById( )
  • B. document.getElementsByTagName( )
    • 标签
  • C. document.getElementsByClassName( )
    • 类名
  • D. document.querySelectorAll( )
    • 返回所有的元素

4.

浏览器按照DOM标准,将页面解析为DOM对象,该对象是一种()结构。

5.

以下操作元素element样式的DOM API中正确的是(C)。

  • A. element.style.fontSize=100;
  • B. element.style.font-size=“100px”;
    • A、B正确的写法应为:element.style.fontSize=“100px”;
  • C. element.style.color=“red”;
  • D. element.style.color=rgb(255, 0, 0)
    • 应为:element.style.color=”rgb(255, 0, 0)”

6.appendChild、lastElementChild、insertBefore()

HTML片段:

<ul id="lst">

    <li>语文</li>

    <li>数学</li>

    <li>英语</li>

</ul>

JavaScript代码:

var list = document.querySelector("#lst");

var items = list.children;

console.log(items.length);  // 输出为 3

list.appendChild(document.createElement("li"));//appendChild 在子节点末尾增添新节点

list.lastElementChild.textContent="物理”;//给最后一个子节点赋值为 物理

console.log(list.lastchild.innerText);  // 输出为(  物理  )

var e1 = document.createElement("li");

e1.innerText="化学";//赋值为 化学

list.insertBefore(e1, items[2]); //语文、数学、化学、英语、物理

console.log(items[2].textContent); // 输出为(  化学  )

list.appendChild(e1);//语文、数学、英语、物理、化学

console.log(items[2].textContent); //输出为(  英语  )

list.removeChild(e1);//移除el 语文、数学、英语、物理

console.log(items[2].nextElementSibling.textContent); // 输出为(  物理  )


  • appendChild() 方法可向节点的子节点列表的末尾添加新的子节点。

  • insertBefore() 方法可在已有的子节点前插入一个新的子节点。

​ 语法:
​ insertBefore(newnode,node);

​ 参数:
​ newnode: 要插入的新节点。
​ node: 指定此节点前插入节点。

八、事件与事件处理

1.

在HTML标签中,部分标签的事件具有默认行为,如a标签的点击事件。以下哪些方法可以阻止这些标签事件的默认行为。

ACD

  • A. 将事件对象的returnValue设置为false

    • returnValue是javascript中html的window对象的属性,目的是返回窗口值
  • B. 将事件对象的returnValue设置为true

  • C. 如果事件采用DOM level 0级的绑定,可以在事件处理函数结束时返回false。

  • D. 调用事件对象的preventDefault( )方法。

    • preventDefault它是事件对象(Event)的一个方法,作用是取消一个目标元素的默认行为。

      既然是说默认行为,当然是元素必须有默认行为才能被取消,如果元素本身就没有默认行为,调用当然就无效了。

  • E. 调用事件对象的stopPropagation( )方法。

    • 终止事件在传播过程的捕捉、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。

2.

JavaScript中事件处理的核心要素:事件类型、事件目标、事件处理程序

  • 事件源:哪个元素触发的
  • 事件类型:点击、选中、修改
  • 事件处理程序: 进一步如何处理, 往往是一个回调函数

3.

JavaScript中事件绑定的方式有哪些 ? BCD

  • A. 通过元素对象的on( ‘eventName’, function(){ })方法

    • jQuery中的使用方法
  • B. 通过元素对象的addEventListener( ‘eventName’, function(){ })方法

    • 绑定事件监听函数:

      绑定事件的另一种方法是用 addEventListener() 或 attachEvent() 来绑定事件监听函数。

  • C. 通过为元素对象的事件属性赋值函数,如elem.οnclick=function(){ }

    • 在DOM元素中直接绑定:onclick
  • D. 通过对HTML标签的onXXXX事件属性赋值JavaScript代码,如< a οnclick=“alert(‘hi’);”>xxx< /a>

    • 在Javascript代码中绑定:有三种方法获取元素(获取节点、获取元素、获取标签)
  • E. 通过元素对象的事件函数传递事件处理函数,如elem.click(function( ){ })。

4.

通过当前事件对象的( type )属性可以获取当前事件的类型,( target )属性可以获取触发当前事件的对象。

5.

事件传播分为( 事件捕获 )和( 事件冒泡 )。

考试部分

一、流程控制

1.

以下if语句结果错误的是(A)。

  • A. if(condition) else{ statements }

    • 少了语句体
  • B.

    if( condition ) {

    if(condition){ statements }

    statements

    } else { statements }

  • C. if(condition) { statements } else if(condition) { statements }

  • D. if(condition){ statements }

2.

对于如下语句 if(name){

console.log(‘如果条件为真,这条语句得到执行!’);

}

当变量name分别为布尔型、数字型和字符串型时,分别满足什么条件才能进入if语句,从而在控制台输出结果:

  • A. true、非零数值、非空字符串

3.

以下for语句:for(var i=0, j=10; i!=j; i++, j–)的循环次数为( 5 )。

4.

以下switch语句中不合理的是( )。

  • A.

    switch(x){

    case 1:

    case 2:

    ​ statements;

    ​ break;

    default:

    ​ statements;

    ​ break;

    }

  • B.

    switch(x){

    default:

    ​ statements;

    ​ break;

    case 1:

    case 2:

    ​ statements;

    }

  • C.

    switch(x){

    default:

    ​ statements;

    case 1:

    case 2:

    ​ statements;

    ​ break;

    }

  • D.

    switch(x){

    case 1:

    case 2:

    ​ statements;

    ​ break;

    default:

    ​ statements;

    }

语法:switch(变量) {
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;

default:
语句体n+1;
break;
}

switch 语句必须遵循下面的规则:
switch 语句中的表达式是一个常量表达式,必须是一个整型或枚举类型
一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号
当表达式的值等于 case 后的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止
case 后必须是一个常量或字面量,必须与 switch 中的表达式具有相同的数据类型
一个 switch 语句可以有一个可选的 default,用于在上面所有 case 都不为真时执行
break可以省略,如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止

5.

以下不能直接使用break进行中断的代码结构是( A )。

  • A. if
  • B. switch
  • C. for
  • D. while

6.

循环语句:var i; while( i=0 ) i–; while的循环次数为( 0 )。

7.

var i = 10;

for(var r =0; i>0 ; i -=2){

​ r += i;

}

console.log®; //输出为( 10+8+6+4+2 = 30 )

8.

var x;

do{

​ x=x||1;

​ x*=2;

​ console.log(x);

}while(x<10); //1*2 * 2 * 2 * 2 = 16

以上代码的循环次数为( 4 )。

第一次输出为( 2 )。

最后次一次输出为( 16 )。

二、常见内置对象

1.split()

var s = “abc123ef34”;var r = s.split(“3”);r为( [“abc12”, “ef”, “4”] )。

split() 方法用于把一个字符串分割成字符串数组。

语法

stringObject.split(separator,howmany)

参数描述

separator参数:必需填。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany参数:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

2.

var s1=“abc”, s2=“abc”;

var t1=new String(s1), t2=new String(s2);

请问:s1==s2和t1 ==t2的结果分别是 true,false

t1,t2分别是他们的对象

3.indexOf

代码

var str=“this is a javascript book”;

var index=str.indexOf(“a”, 11);

index的值为:D

Java中字符串中子串的查找共有四种方法,如下:
1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。

4.substring、lastIndexOf、substr、split、slice

var str=“abc123xy12z”;

str.substring(2,4)的值( “c1” ),

​ str.substring(A, B) 截取字符串,左闭右开

​ str.substring(A) A往后所有的字符

str.lastIndexOf(2)的值为( 9 ),

str.substr(2,4)的值为( “c123” ),

​ js里的substr()方法是用来截取字符串的

​ 语法:

​ stringObject.substr(start,length);

​ 其中 start是要截取字符串的开始下标,length是要截取的长度。

str.split(“12”)[1]的值为( [“abc”,”3xy”,”z”] 取[1] = “3xy”),

str.slice(-5, -2)的值为( xy1

5.includes、 indexOf、lastIndexOf、split、search

字符串对象方法中,可以用来判断当前字符串中是否存在指定的子字符串的有:

  • A. includes( )
  • B. indexOf( )
  • C. lastIndexOf( )
  • D. split( )
  • E. search( )

三、数组基础应用

1.

var arr=[2,3,4,5,6];

for(var i=0;i<arr.length;i+=2){//0,2,4

​ arr[i]*=10;

}//20,3,40,5,60

console.log(arr[1]); //输出为( 3

console.log(arr[2]); //输出为( 40

arr[arr.length]=10;

console.log(arr[arr.length]); // 输出为( Undefined

console.log(arr[arr.length-1]); //输出为( 10

2.

var data=[ “tom”, “jack”, “ketty”];

for(var d of data){

​ if(d.length<4){

​ d=d.toUpperCase();

​ }

}

console.log(data[0]); //输出为( “tom”

console.log(data[1]); //输出为( “jack”

for(var d in data){

​ if(d%2==1){

​ data[d]=data[d][0].toUpperCase()+data[d].substr(1);

​ }

}

console.log(data[1]); //输出为( “Jack”

console.log(data[2]); //输出为( “ketty”

3.

以下哪些表达式可以创建一个具有6个元素的数组? ACD

  • A. new Array(6)
  • B. new Array(“6”)
  • C. Array(6)
  • D. [ , , , , , , ]
  • E. [ , , , , , ]

几种逗号数组创建方式:

第一种

var arr = [ , , , ]; //创建包含三个空位的数组
console.log(arr.length); // => 3
console.log(arr); // => [ < 3 empty items> ]

第二种

var arr = [2 , , , 6]; //创建包含四个空位的数组
console.log(arr.length); // => 4
console.log(arr); // => [ 2, <2 empty items>, 6 ]

第三种

var arr = [2 , , , ]; //创建包含三个空位的数组
console.log(arr.length); // => 3
console.log(arr); // => [ 2, <2 empty items> ]

第四种

var arr = [ , , 1 , ]; //创建包含四个空位的数组
console.log(arr.length); // => 3
console.log(arr); // => [ <2 empty items>, 1 ]

第五种

var arr = [ , , , 3 ]; //创建包含四个空位的数组
console.log(arr.length); // => 4
console.log(arr); // => [ < 3 empty items>, 3 ]

得到这样结果的原因是从ES5规范开始就允许在列表(数组值,属性列表)末尾多加一个逗号(在实际处理中会被忽略不计)

  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真不会coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值