0


刷题日常计~JS⑥

请添加图片描述

@作者 : SYFStrive

@博客首页 : 点击跳转HomePage

📜: 初编程JavaScript之每天10题 👉 从质变到量变💪

🔥:给大家推荐一款的刷题神器(有很多值得学习的编程题目😘)

🔥:🏆🏆🏆 神器链接🔗(一起刷起来吧( ఠൠఠ )ノ)

📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗

💃:学累了可以先看看由jieke给大家带来的舞蹈,欢迎大家观看

🔗:
请添加图片描述
在这里插入图片描述
相关专栏

①:👉
JS入门到精通(🔥待更)
②:👉
刷题日常计~JS(🔥待更)

题目目录

提示:以下是本篇文章正文内容

题目难度:★★★☆

①dom节点查找

✍描述

  1. 查找两个节点的最近的一个共同父节点,可以包括节点自身

📲输入描述:

oNode1 和 oNode2 在同一文档中,且不会为相同的节点

📰代码演示:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>

<body>

</body>

<script>
    // oNode1 和 oNode2 在同一文档中,且不会为相同的节点
    function commonParentNode(oNode1, oNode2) {
        while (true) {
            // oNode1.contains() 返回一个布尔值,来表示传入的节点是否为该节点的后代节点。
            if (oNode1.contains(oNode2))
                return oNode1
            oNode1 = oNode1.parentNode
        }
    }
</script>

</html>

②修改this指向

✍描述

封装函数 f,使 f 的 this 指向指定的对象

示例1
输入:无
输出:无

📰代码演示:

//改变this的指向有三种方法: call()、bind()、apply()
//call
//     return function() {
//         return f.call(oTarget, ...arguments)
//     }
//bind
// function bindThis(f, oTarget) {
//     return f.bind(oTarget)
// }
//apply
// function bindThis(f, oTarget) {
//     return function() {
//         return f.apply(oTarget, arguments)
//     }
// }

③根据包名,在指定空间中创建对象

✍描述

根据包名,在指定空间中创建对象

输入描述:
namespace({a: {test: 1, b: 2}}, ‘a.b.c.d’)

输出描述:
{a: {test: 1, b: {c: {d: {}}}}}

📰代码演示:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>

<body>

</body>

<script>
    function namespace(oNamespace, sPackage) {
        let list = sPackage.split('.');
        let tmp = oNamespace;
        for (let k in list) {
            if (typeof tmp[list[k]] !== 'object') {
                tmp[list[k]] = {};
            }
            tmp = tmp[list[k]];
        }
        return oNamespace;
    }
</script>

</html>

④数组去重

✍描述
为 Array 对象添加一个去除重复项的方法

示例1

输入:
[false, true, undefined, null, NaN, 0, 1, {}, {}, ‘a’, ‘a’, NaN]

输出:
[false, true, undefined, null, NaN, 0, 1, {}, {}, ‘a’]

📰代码演示:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>

<script>
    Array.prototype.uniq = function() {
        return [...new Set(this)];
    }
</script>

</html>

⑤斐波那契数列

✍描述

用 JavaScript 实现斐波那契数列函数,返回第n个斐波那契数。 f(1) = 1, f(2) = 1 等

📰代码演示:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>

<body>

</body>

<script>
    function fibonacci(n) {
        if (n < 1) return -1;
        let a = 1,
            b = 1;
        for (let i = 2; i < n; i++) {
            b = a + b;
            a = b - a;
        }
        return b;
    }
</script>

</html>

最后

在这里插入图片描述
1、码农日常刷题 👉 通过刷题认识到自己的不足,增加对该编程语法的熟练度(可以很大程度提升自己的编程水平(ง •_•)ง)
2、感谢大佬们的支持,你们的支持是我们更新的最大动力,希望这篇文章能帮到大家
3、最后,在这里分享一款刷题神器(里面还有很多值得学习的题目)点击跳转至刷题神器(一起刷起来吧( ఠൠఠ )💪),

在这里插入图片描述

下篇文章再见ヾ( ̄▽ ̄)ByeBye

在这里插入图片描述


本文转载自: https://blog.csdn.net/m0_61490399/article/details/126513290
版权归原作者 SYFStrive 所有, 如有侵权,请联系我们删除。

“刷题日常计~JS⑥”的评论:

还没有评论