C1能力认证训练题解析 _ 第三部分 _ JavaScript基础(2)

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: C1能力认证训练题解析 _ 第三部分 _ JavaScript基础(2)

七、对象属性

(1)要想以下JavaScript代码符合预期,空格处应该填什么(表达式除外)?

var obj = {name: 'lisi', city: '北京', age: 21}
console.log(obj._______)
// 预期输出结果:21

答案:age


在对象中对象的变量点方式可以是查询或者添加一个属性,预期结果为21;对象中的age属性对应的值为21,那么获取这个属性就得到了它对应的值。


(2)要想以下JavaScript代码符合预期,空格处应该填什么整数?

var obj = {
    name: '王五',
    friends: ['张三', '李四'],
    age: 23
}
console.log(obj.friends[____])
//预期输出结果:李四

答案:1


obj这个对象的friends属性是一个数组,现在要打印这个数组的某一个索引上的值,打印结果是李四,李四是数组的第一项(数组下标从0开始)


八、函数定义与调用

(1)要想以下JavaScript代码符合预期,空格处应该填什么整型数字?

function foo(a, b) { 
    return a * b 
} 
console.log(foo(8, ___)) 
//预期输出:32

答案:4


该函数有两个参数:a,b。函数执行的时候返回 a * b的值,函数调用时,给出了第一个参数值为8,最终返回32,所以第二个参数是4。


(2)要想以下JavaScript代码符合预期,空格处应该填什么?

var obj = {
    name: '小明',
    friends: ['张三', '李四'],
    hobby: ['篮球', '足球', '游泳', '看书'],
    age: 23,
    getNewFriend: function (newFriend) {
        this.friends.push(newFriend)
    }
}
obj._______('王五')
console.log(obj.friends[2])
//预期输出:王五

答案:getNewFriend


obj对象其中一个属性的值是一个函数,那么在取这个属性值的时候,后面加上()就代表调用这个函数;


这个函数(我们可以称之为这个对象的方法)的作用是将它的参数追加到该对象的friends属性值(数组)的末尾;


预期输出的打印是obj这个对象的friends属性值的索引为2的值,而friends属性在这个对象被定义的时候最大索引是1,显然它被push进了一个值。由此可知空格处该填什么了。


(3)以下的JavaScript代码的预期输出是?

var checkNum = function (num) {
    return num % 2 === 0
}
if (checkNum(8)) {
    console.log('Hello')
} else {
    console.log('World')
}
//预期输出:____

答案:Hello


将一个函数表达式赋值给了checkNum变量,后面就可以使用checkNum来调用这个函数了;


除以2取余为0,简单来说,这个函数的作用是判断参数是否是一个偶数。


九、常见内置函数

(1)要想以下JavaScript代码运行符合预期,空格处应该填什么?

if (isNaN('.67') === ___) { 
    console.log('hello') 
} 
//预期输出:hello

答案:false


isNaN函数当参数是一个数字或者数字字符串的时候,返回真,其他返回假;


在大多数编程语言中,0.89这样的小数也可以使用.89来表示,省略掉0。


(2)要想以下JavaScript代码运行符合预期,空格处应该填什么整数?

console.log(parseInt("21", ____))
//预期输出:17

答案:8


parseInt这个内置函数会把第一个参数按照第二个参数指定的基数(或者说是进制)转成一个十进制整数并返回;


现在第一个参数是"21",最终转成的10进制数是17,而八进制下的21就是10进制下的17。


(3)以下的JavaScript代码的预期输出是?

console.log(parseFloat('8.9a89bd'))
//预期输出:____

答案:8.9


parseFloat会将给定的字符串转成一个浮点数,从给定的字符串的右边开始,一个一个字符的比对,直到不能构成一个有效的浮点数为止。


(4)以下的JavaScript代码的预期输出是?

if (isNaN('3e4') === false) {
    console.log('Hello')
} else {
    console.log('World')
}
//预期输出:____

答案:Hello


isNaN内置函数是判断一个字符串是否不是一个数字;此处 3e4 是一个数字,所以isNaN返回false,false===false。


在JavaScript中数字的表示有很多种,例如十进制的整数,十进制的小数,科学计数法(例如:4e20表示4 乘以 10的20次方),十六进制表示法(例如:0x13af),八进制表示法(例如:012)等。


十、字符串定义与转义字符

(1)以下的JavaScript代码的预期输出是?

var str = '\'这是为什么呢?\''
console.log(str)
//预期输出:____

答案:'这是为什么呢?'


在单引号定义的字符串中出现了单引号,但是单引号前面使用了反斜杠\,即该单引号被转义了,那么这个单引号在该字符串中直接作为一个单引号存在;


在单引号定义的字符串中使用单引号,如果不做转义将会报语法错误。


(2)以下的JavaScript代码的预期输出是?

var str = '\"这是为什么呢?"'
console.log(str)
//预期输出:____

答案:"这是为什么呢?"


在单引号定义的字符串中出现了双引号,可以直接使用,不会报语法错误。并且双引号前加转义符(\)和不加效果一样。


(3)以下的JavaScript代码的预期输出是?

var str = '\\n这是为什么呢?"'
console.log(str)
//预期输出:____

答案:\n这是为什么呢?"


转义符本身也能被转义,转义后就被当成一个普通的反斜杠字符(\)使用,不再具有转义的效果。


十一、字符串常见的方法和属性

image.png

(1)要想以下JavaScript代码符合预期,空格处应该填什么?

var a = "abccba"._______("b")
console.log(a)
//预期输出结果:4

答案:lastIndexOf


该题属于根据字符串返回它在整个字符串索引位置的题型,如果使用indexOf()方法则结果是1,那么另外一个方法lastIndexOf()则返回符合预期输出结果,意思就是b位于索引位置4。


(2)要想以下JavaScript代码符合预期,空格处应该填什么?

var str = "a1-b2-c3-d4"
console.log(str._____('_'))
//预期输出结果:['a1', 'b2', 'c3', 'd4']

答案:split


split切割,根据代码及预期结果可知字符串转为了数组,故字符串使用切割函数。


(3)要想以下JavaScript代码符合预期,空格处应该填什么整数?


var str = "JavaScript是一门动态类型的语言"
console.log(str.substring(4, ____))
//预期输出结果:Script

答案:10


字符串的substring方法是截取原字符串的一部分。截取的规则是从第一个参数表示的索引位置开始(包含该字符),到第二个参数表示的索引为止结束(不包含该位置字符)。


如果 第一个参数 等于 第二个参数,substring 返回一个空字符串。


如果省略 第二个参数,substring 提取字符一直到字符串末尾。


如果任一参数小于 0 或为 NaN,则被当作 0。


如果任一参数大于 str.length,则被当作 str.length。


如果 第一个参数 大于 第二个参数,则 substring 的执行效果就像两个参数调换了一样。


(4)以下的JavaScript代码的预期输出是?


var str = "AbcDe"
console.log(str.toUpperCase())
//预期输出结果:____

答案:ABCDE


字符串的toUpperCase方法是将该字符串中的所有英文字母转成大写。


(5)以下的JavaScript代码的预期输出是?

var str = "Chinese"
console.log(str.charAt(3))
//预期输出结果:____

答案:n


字符串的charAt方法的参数会被作为索引,最终会返回字符串中该索引所对应的位置的值。


十二、数组常见方法与属性

(1)要想以下JavaScript代码符合预期,空格处应该填什么(表达式除外)?

var arr = ['e', 'd', 'f'] 
var str = arr.___() 
console.log(str) 
//预期输出结果: e,d,f

答案:join


在数组上调用一个方法,返回一个字符串,并且这个字符串是数组里面的每个元素以逗号相连。就是将数组的每个元素连接起来,join方法正好能实现此功能。


join方法在不给参数的时候就是以英文的逗号连接数组的每个元素。


(2) 要想以下JavaScript代码符合预期,空格处应该填什么(表达式除外)?


var arr = ['tree', 795, [0, 1, 2]]; 
arr.______([4,9,10]) 
console.log(arr[0][1]) 
//预期输出结果: 9

答案:unshift


arr[0][1]是指数组arr索引为0的值,再取其索引为1的值。


如果arr[0]的值为[4,9,10],则arr[0][1]的值为9。


所以该数组方法就是将参数[4,9,10]加到数组arr的开头,unshift能实现此功能。


(3)要想以下JavaScript代码符合预期,空格处应该填什么(表达式除外)?


var arr = [1,2,3,'a','t',45,'r',9]; 
var newArr = arr.slice(____, 6) 
console.log(newArr[2])
//预期输出结果:45

答案:3


slice方法会截取原数组的一部分并返回,第一个参数表示开始的索引位置的元素(包含该元素),第二个参数代表结束的索引位置的元素(不包含该元素);


该题中newArr[2]的值为45,又因为newArr是从arr中截取出来的,所以newArr应该为['a', 't', 45]


(4)要想以下JavaScript代码符合预期,空格处应该填什么(表达式除外)?


var arr = ['a', 'b', 'c', 'd']; 
var str = arr.______().join('')
console.log(str) 
//预期输出结果:dcba

答案:reverse (翻转)


最终输出的是一个字符串,而join方法就是将数组中的元素用该方法的参数作为分隔符链接起来形成一个新的字符串,除此之外空格处的方法将数组arr进行了反转。


(5)要想以下JavaScript代码符合预期,空格处应该填什么整数?


var arr = [
    {
        name: '张三',
        age: 24
    },
    {
        name: '李四',
        age: 32
    },
    {
        name: '王五',
        age: 19
    }
]
arr.sort(function (item1, item2) {
    return item1.age - item2.age
})
console.log(arr[____].name)
//预期输出结果:李四

答案:2


sort() 从小到大排序,sort方法会接受一个回调函数作为参数,并且会给这个回调函数传两个值,这两个值即为数组中相邻两个元素,如果这个回调函数返回的是一个小于0的数,那么第一个值就在第二值的前面,等于0的话不变,大于0的话,第一个值就在第二个值的后面;


题中的回调函数的返回值是第一个值的age属性减去第二个值的age属性,判断结果;最后做了升序排列,李四就位于索引位置3。

相关文章
|
4天前
|
存储 前端开发 JavaScript
JavaScript垃圾回收机制深度解析
【10月更文挑战第21】JavaScript垃圾回收机制深度解析
84 59
|
4月前
|
机器学习/深度学习 自然语言处理 算法
人类偏好对齐训练技术解析
大型语言模型(LLMs)通过在大量文本数据集上进行无监督预训练,获得丰富的语言模式和知识,这一阶段训练后的模型被称为base model。
|
13天前
|
JavaScript 前端开发 索引
JavaScript ES6及后续版本:新增的常用特性与亮点解析
JavaScript ES6及后续版本:新增的常用特性与亮点解析
13 4
|
12天前
|
JavaScript 前端开发 开发者
原型链深入解析:JavaScript中的核心机制
【10月更文挑战第13天】原型链深入解析:JavaScript中的核心机制
21 0
|
17天前
|
前端开发 JavaScript UED
JavaScript异步编程深入解析
【10月更文挑战第8天】JavaScript异步编程深入解析
10 0
|
3月前
|
JavaScript 前端开发 UED
Javaweb之javascript的小案例的详细解析
通过上述步骤,我们得到了一个动态更新的实时时钟,这个简单的JavaScript案例展示了定时器的使用方法,并讲解了如何处理日期和时间。这个案例说明了JavaScript在网页中添加动态内容与交互的能力。对于涉足JavaWeb开发的学习者来说,理解和运用这些基础知识非常重要。
41 11
|
2月前
|
JavaScript 前端开发 API
Javaweb之javascript的BOM对象的详细解析
BOM为Web开发提供了强大的API,允许开发者与浏览器进行深入的交互。合理使用BOM中的对象和方法,可以极大地增强Web应用的功能性和用户体验。需要注意的是,BOM的某些特征可能会在不同浏览器中表现不一致,因此在开发过程中需要进行仔细的测试和兼容性处理。通过掌握BOM,开发者能够制作出更丰富、更动态、更交互性的JavaWeb应用。
29 1
|
3月前
|
缓存 JavaScript 前端开发
|
3月前
|
XML JavaScript 前端开发
JavaScript中的DOM解析器DOMParser api的讲解
`DOMParser`能将XML或HTML源码字符串解析成DOM `Document`。通过`new DOMParser()`创建实例,使用`.parseFromString(string, type)`方法进行解析,其中`string`为待解析的字符串,`type`指定解析类型如`text/html`或`text/xml`等,返回一个`Document`对象。例如,可解析包含`<p>666</p>`的字符串并获取其文本内容`666`。
142 1
|
2月前
|
自然语言处理 前端开发 JavaScript
Javaweb之javascript的详细解析
通过明确JavaScript的定位,掌握其核心概念和相关技术栈,在实现交互丰富的Web应用时,JavaScript就能够发挥它不可替代的作用。随着前后端分离趋势的推进,JavaScript在现代 Web 开发中变得更加重要,不仅限于传统的 JavaWeb 应用,而是广泛应用于各种类型的前端项目。
23 0

推荐镜像

更多