专项练习11

这篇具有很好参考价值的文章主要介绍了专项练习11。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、选择题

    1、执行下列选项的程序,输出结果不是Window对象的是()

    2、以下哪些代码执行后 i 的值为10:

二、编程题

    1、判断 val1 和 val2 是否完全等同

    2、统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率①不限制 key 的顺序;②输入的字符串参数不会为空;③忽略空白字符


一、选择题

1、执行下列选项的程序,输出结果不是Window对象的是()

A、

setTimeout(function(){

console.log(this);

},1000);

B、

function Star(){

console.log(this);

}

new Star();

C、

var o = {

sayHi:()=>{

console.log(this);

}

}

o.sayHi();

D、

(function(){

console.log(this);

}());

正确答案:B

解析:

(1)箭头函数不会与this进行绑定,其this指向取决于该箭头函数同级作用域的this指向,又由于对象不能形成自己的作用域,因此其作用域为全局作用域,this指向Window对象

(2)

①默认绑定:指向window,例如fn(),实际上是window.fn(),window调用,指向window

②隐式绑定:obj.fn() ,指向obj,是obj在调用

③显示绑定:call()、apply()、bind(),要指向谁就写在()里面

④new绑定:指向new创建的对象,new fn()


2、以下哪些代码执行后 i 的值为10:

A、

let i =1 + {
  valueOf() { return 9; }
};

B、

let i = 0;
new Array(10).forEach(() => {
  i++;
});

C、

let i = parseInt('0xA');

D、

let i = 5;
function a(i) {
  i *= 2;
}
a(i);

正确答案:AC        你的答案:BCD

解析:

(1)A选项:{ valueOf() { return 9; } } 有一个匿名对象

①该对象有一个名为 valueOf 的方法,对象与数字相加时,对象调用自身的 valueOf 方法转换为数字,故输出 i == 1 + 9 == 10;

②当对象没有提供valueOf方法时,对象与数字都转换为字符串相加1 + {} == '1[object Object]'

③valueOf() 在尝试加法、乘法之类的会转换成原值,转换成原始值,有两种模式:

        偏字符串(首先调用tostring 如果不是原始值 会调用valueof)

        偏数值(首先调用valueof 如果不是原始值接着调用tostring)

(2)B选项:输出值为0,因为forEach方法在数组元素为空时会跳过执行回调函数,相当于此选项回调函数并未执行

(3)C选项:在没有指定基数的情况下,如果字符串以"0x"或者"0X"开头, 则基数是16 (16进制)。

相当于let i = parseInt('0xA',16)

(4)D选项:i 是形参,属于局部变量,执行 a(i) 后,返回undefine,不影响全局变量 i 的值


二、编程题

1、判断 val1 和 val2 是否完全等同

解析:

(1)法一:Object.is()

function identity(val1, val2) {
    return Object.is(val1,val2)
}

(2)法二:===

function identity(val1, val2) {
    return val1 === val2
}

2、统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率
①不限制 key 的顺序;②输入的字符串参数不会为空;③忽略空白字符

输入描述:'hello world'        输出描述:{h: 1, e: 1, l: 3, o: 2, w: 1, r: 1, d: 1}

解析:

(1)法一:filter过滤空格,forEach遍历字符串元素

<script>
    let str = 'hello world'

    function count(str){
        let strArr = str.split("").filter(e=>{
            return e&&e.trim()
        })
        const obj = {}
        strArr.forEach(element => {
            if(obj[element]){
                obj[element]++
            }else{
                obj[element] = 1
            }
        });
        return obj
    }
    console.log(count(str));
</script>

(2)法二:利用replace和正则将str存在的空格去除,利用for of 迭代可迭代对象文章来源地址https://www.toymoban.com/news/detail-499280.html

<script>
    let str = 'hello world'

    function count(str){
        let strArr = str.replace(/\s/gi,'')
        const obj = {}
        for(let i of strArr){
            if(obj[i]){
                obj[i]++
            }else{
                obj[i] = 1
            }
        }
        return obj
    }
    console.log(count(str));
</script>

到了这里,关于专项练习11的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MySQL】MySQL 专项练习

    其他 SQL的执行顺序是:FROM–WHERE–GROUP BY–HAVING–SELECT–ORDER BY 使用别名的方法 正确方法(3种): 字段 AS 别名 字段 别名: AS可省 字段 = 别名 仅限 SQL Server 错误方法: 别名=字段名称 :会将该字段所在的列中所有数据替换成别名 MySQL中正则表达式的匹配规则 MySQL 中使用

    2024年01月16日
    浏览(41)
  • 专项练习24

    目录 一、选择题     1、JavaScript 中的数字在计算机内存中占多少个Byte?     2、请问以下JS代码会输出什么 二、编程题     1、以数字的形式返回数字参数向下取整的结果 1、JavaScript 中的数字在计算机内存中占多少个Byte? A、2 Byte B、4Byte C、8Byte D、16Byte 正确答案:C   

    2024年02月13日
    浏览(28)
  • 专项练习9

    目录 一、选择题     1、在 JavaScript 中,用于阻止默认事件的默认操作的方法是     2、以下代码执行后,result 的值为()     3、不能从字符串 const str = \\\'qwbewrbbeqqbbbweebbbbqee\\\';中能得到结果 [\\\"b\\\", \\\"bb\\\", \\\"bbb\\\", \\\"bbbb\\\"]的语句是?     4、下面哪些方法可以实现在jQuery中通过远程

    2024年02月10日
    浏览(41)
  • C++ //练习 2.9 解释下列定义的含义。对于非法的定义,请说明错在何处并将其改正。

    练习 2.9 解释下列定义的含义。对于非法的定义,请说明错在何处并将其改正。 ( a ) std::cinint input_value; ( b ) int i = { 3.14 }; ( c ) double salary = wage = 9999.99; ( d ) int i = 3.14; 环境:Linux Ubuntu(云服务器) 工具:vim   解释 ( a ) 变量要先声明,再进行使用。修改为: ( b ) 单精度数值初

    2024年01月19日
    浏览(51)
  • 【C/PTA】指针专项练习(一)

    本文结合PTA专项练习带领读者掌握指针,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。 删除一个字符串中的所有数字字符。 函数接口定义: 其中 s 是用户传入的参数。 函数的功能是删除指针 s 所指的字符串中的所有数字字符。 裁判测试程序样例: 输入样例

    2024年02月04日
    浏览(41)
  • 【C/PTA】函数专项练习(四)

    本文结合PTA专项练习带领读者掌握函数,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。 函数 fun 的功能是:根据整型形参 n,计算某一数据项的值。 A[1]=1, A[2]=1/(1 + A[1]), A[3]=1/(1 + A[2]), …,A[n]=1/(1 + A[n-1]) 例如,若 n=10,则应输出:A10=0.617977。 函数接口定义: 其

    2024年02月05日
    浏览(35)
  • 【C/PTA】结构体专项练习

    本文结合PTA专项练习带领读者掌握结构体,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。 小明最近喜欢玩一款新游戏。在该游戏中,需要组建队伍去完成任务以获取奖励。小明挑出了所有的队员(每个人能力不同),需要一个函数挑出队长(能力最强的队员)

    2024年02月03日
    浏览(37)
  • 【C/PTA】指针专项练习(二)

    本文结合PTA专项练习带领读者掌握指针,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。 《孙子算经》记载:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?” 函数原型 说明:head 和 foot 为头和脚的数量,chicken 和 rabbit 为指示鸡和兔数量的指

    2024年02月04日
    浏览(41)
  • 蓝桥杯单元测试专项练习Java版

    举重比赛,需要根据性别和体重来决定是否有参赛资格,具体规则如下: 当性别为男且体重大于等于 54 公斤时,可参加男子组比赛,否则无资格参赛。 当性别为女且体重大于等于 46 公斤时,可参加女子组比赛,否则无资格参赛。 当性别既不是男也不是女时,系统显示性别

    2024年02月19日
    浏览(34)
  • 计网专项练习题:IP地址及子网划分

    1. 192.168.1.0/24 使用掩码255.255.255.240 划分子网,其可用子网数为(    ),每个子网内可用主机地址数为(    ) A. 14 14     B. 16 14         C. 254 6       D. 14 62 解析:子网掩码化成二进制,前面24位全为1,后面240化为1111 0000,网络位有4位,主机位4位,可用子网数2的4次方

    2024年01月22日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包