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

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 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。

相关文章
|
6月前
|
SQL 存储 数据可视化
Ganos H3地理网格能力解析与最佳实践
本文介绍了Ganos H3的相关功能,帮助读者快速了解Ganos地理网格的重要特性与应用实践。H3是Uber研发的一种覆盖全球表面的二维地理网格,采用了一种全球统一的、多层次的六边形网格体系来表示地球表面,这种地理网格技术在诸多业务场景中得到广泛应用。Ganos不仅提供了H3网格的全套功能,还支持与其它Ganos时空数据类型进行跨模联合分析,极大程度提升了客户对于时空数据的挖掘分析能力。
|
4月前
|
机器学习/深度学习 自然语言处理 算法
人类偏好对齐训练技术解析
大型语言模型(LLMs)通过在大量文本数据集上进行无监督预训练,获得丰富的语言模式和知识,这一阶段训练后的模型被称为base model。
|
5月前
|
存储 Cloud Native 关系型数据库
《阿里云产品四月刊》—Ganos H3 地理网格能力解析与最佳实践(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
172 3
《阿里云产品四月刊》—Ganos H3 地理网格能力解析与最佳实践(1)
|
5月前
|
存储 数据库 数据可视化
《阿里云产品四月刊》—Ganos H3 地理网格能力解析与最佳实践(2)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—Ganos H3 地理网格能力解析与最佳实践(2)
|
4月前
|
调度
【浅入浅出】Qt多线程机制解析:提升程序响应性与并发处理能力
在学习QT线程的时候我们首先要知道的是QT的主线程,也叫GUI线程,意如其名,也就是我们程序的最主要的一个线程,主要负责初始化界面并监听事件循环,并根据事件处理做出界面上的反馈。但是当我们只限于在一个主线程上书写逻辑时碰到了需要一直等待的事件该怎么办?它的加载必定会带着主界面的卡顿,这时候我们就要去使用多线程。
146 6
|
5月前
|
Cloud Native 数据库 数据可视化
《阿里云产品四月刊》—Ganos H3 地理网格能力解析与最佳实践(3)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js的编程训练系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的编程训练系统附带文章和源代码设计说明文档ppt
46 11
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js的球队训练信息管理系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的球队训练信息管理系统附带文章和源代码设计说明文档ppt
47 3
|
5月前
|
缓存 安全 Java
【权限管理系统】Spring security(三)---认证过程(原理解析,demo)
【权限管理系统】Spring security(三)---认证过程(原理解析,demo)
|
6月前
|
前端开发 JavaScript TensorFlow
如何将训练好的Python模型给JavaScript使用?
本文介绍了如何将TensorFlow模型转换为Web格式以实现浏览器中的实际应用。首先,简述了已有一个能够检测扑克牌的TensorFlow模型,目标是将其部署到Web上。接着,讲解了TensorFlow.js Converter的作用,它能将Python API创建的GraphDef模型转化为TensorFlow.js可读取的json格式,用于浏览器中的推理计算。然后,详细说明了Converter的安装、用法及不同输入输出格式,并提供了转换命令示例。最后,文中提到了模型转换后的实践步骤,包括找到导出的模型、执行转换命令以及在浏览器端部署模型的流程。
51 3

推荐镜像

更多