刷题##day3

本文提供了几个JavaScript编程题目,涉及在Number对象上添加_isPrime方法判断质数,使用正则表达式验证身份证格式,打印直角三角形,以Symbol为键创建对象,比较Set的相等性以及创建具有Getter属性的Rectangle类。
摘要由CSDN通过智能技术生成

目录

1.判断质数  

描述

 作答

2.验证是否是身份证

描述

示例

作答

3.直角三角形

描述

作答

4.Symbol

描述

作答

5.相同的Set

描述

作答

6.Getter

描述

示例

作答

1.判断质数  

描述

请补全JavaScript代码,要求在Number对象的原型对象上添加"_isPrime"函数,该函数判断调用的对象是否为一个质数,是则返回true,否则返回false。

 作答

1.使用循环判断即可,需要注意的是提取使用值时用到 valueOf()方法

<!DOCTYPE html>
<html>
    <head>
        <meta charset=utf-8>
    </head>
    <body>
        <script type="text/javascript">
        	// 补全代码
        	Number.prototype._isPrime=function(){
                let num = this.valueOf();
                let sum=0;
                for(let i=1 ;i<=num;i++){
                    if(num%i==0){
                        sum++
                    }
                }
                if(sum==2)
                    return true;
                else return false;
            }
        </script>
    </body>
</html>

2.验证是否是身份证

描述

请补全JavaScript代码,要求以Boolean的形式返回字符串参数是否符合身份证标准。
注意:
1. 无需考虑地区信息、出生日期、顺序码与校验码的验证

示例

输入:

_isCard('21062319980907888X')

输出:

true

作答

1.需要使用到正则表达式进行检查验证

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
    </head>
    <body>

        <script>
            const _isCard = number => {
                // 补全代码
                let jc= /(^\d{18}$)|(^\d{17}(\d|x|X)$)/;
                return jc.test(number)
            }
        </script>
    </body>
</html>

3.直角三角形

描述

请补全JavaScript代码,要求在页面上渲染出一个直角三角形,三角形换行要求使用"br"实现。三角形如下:
*
**
***

作答

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        <div class='triangle'></div>

        <script>
            var triangle = document.querySelector('.triangle');
            // 补全代  var triangle = document.querySelector('.triangle');
            // 补全代码
            triangle.innerHTML = `
                *<br>**<br>***<br>
            `
            
        </script>
    </body>
</html>

4.Symbol

描述

请补全JavaScript代码,要求以键/值对的对象形式返回参数数组。要求如下:
1. 键名的数据类型为Symbol
2. 键值为当前数组项
3. Symbol的描述为当前数组项
4. 返回普通对象

作答

1.需要遍历数组获取元素值,每个键名设置Symbol类型,在进行对对象的赋值,从而用Symbol 对象描述当前数组项。

<!DOCTYPE html>
<html>
    <head>
        <meta charset=utf-8>
    </head>
    <body>
    	
        <script type="text/javascript">
            const _symbolKey = array => {
                // 补全代码
                let obj={};
                for(let item of array){
                    let sy =Symbol(item);
                    obj[sy]=item;
                }
                return obj;
            }
        </script>
    </body>
</html>

5.相同的Set

描述

请补全JavaScript代码,要求以boolean的形式返回两个Set对象参数是否一样,是则返回true,否则返回false。

作答

1.对两个对象中一个进行循环遍历其元素判断是否在另一个对象上使用has()方法。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        
        <script>
            const _isSameSet = (s1, s2) => {
                // 补全代码
                s1.forEach(function(value){
                    if(s1.size!=s2)
                        return false
                    if(s2.has(value))
                        return false
                    
                })
                return true
            }
        </script>
    </body>
</html>

6.Getter

描述

请补全JavaScript代码,完成名为"Rectangle"的矩形类。要求如下:
1. 构造函数只包含两个参数,依次为"height"、"width"
2. 设置Getter,当获取该对象的"area"属性时,返回该对象"height"与"width"属性的乘积

示例

 

输入:

new Rectangle(12,12).area

输出:

144

作答

<!DOCTYPE html>
<html>
    <head>
        <meta charset=utf-8>
    </head>
    <body>
    	
               <script type="text/javascript">
            class Rectangle {
                // 补全代码
                // 构造函数
                constructor(height, width) {
                    this.height = height;
                    this.width = width;
                }
                // 设置Getter,获取该对象的area属性
                get area() {
                    return this.height*this.width;
                }
            }
        
        </script>
    </body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

前端VC

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

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

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

打赏作者

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

抵扣说明:

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

余额充值