IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 【牛客刷题】前端--JS篇(二) -> 正文阅读

[JavaScript知识库]【牛客刷题】前端--JS篇(二)

🍳作者: 贤蛋大眼萌,一名很普通但不想普通的程序媛 \color{#FF0000}{贤蛋 大眼萌 ,一名很普通但不想普通的程序媛} 贤蛋大眼萌,一名很普通但不想普通的程序媛🤳

🙊语录: 多一些不为什么的坚持 \color{#0000FF}{多一些不为什么的坚持} 多一些不为什么的坚持

📓 专栏:牛客刷题–斩获offer

💭 眼过千遍不如手锤一遍:推荐一款模拟面试,斩获大厂 o f f e r ,程序员的必备刷题平台 ? ? 牛客网 \color{#ff7f50}{眼过千遍不如手锤一遍:推荐一款模拟面试,斩获大厂offer,程序员的必备刷题平台--牛客网} 眼过千遍不如手锤一遍:推荐一款模拟面试,斩获大厂offer,程序员的必备刷题平台??牛客网

👉🏻点击跳转刷题网免费注册学习

🧨 前言

🚀 牛客网 \color{#ff7f50}{牛客网} 牛客网 是一个集笔面试系统、题库、课程教育、社群交流、招聘内推于一体的招聘类网站,更是一个专注于程序员的学习和成长的平台。

image-20220917155316636

🪓自学是一个程序员必备的能力,而提高自己的编程能力最好方法就是通过刷题。一次偶然的机会让我发现牛客网这个新大陆,开启自己IT之旅。

这里有个大厂的面试真题,知己知彼百战百胜。

image-20220917155706401

更有在线编程调试功能,提高编程效率。

image-20220917104224568

?

🎁 正文

题1:判断版本

image-20220921101444019

题解:

<!DOCTYPE html>
<html>
    <head>
        <meta charset=utf-8>
    </head>
    <body>
    	
        <script type="text/javascript">
        const _shouldUpdate = (oldVersion, newVersion) => {
           let oldversion = parseInt(oldVersion.split('.').join(''))
           let newversion = parseInt(newVersion.split('.').join(''))
           return newversion > oldversion
      }
        </script>
    </body>
</html>

题2:计数器

image-20220921113348550

题解:

<!DOCTYPE html>
<html>

<head>
  <meta charset=utf-8>
</head>

<body>

  <script type="text/javascript">
    const closure = () => {
      let count = 0
      return function () {
        count++
        return count
      }
    }
  </script>
</body>

</html>

题3:列表动态渲染

image-20220921113529065

题解:

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

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

<body>
  <ul></ul>

  <script>
    var people = [
      { name: '牛油1号', id: 1, age: 20 },
      { name: '牛油2号', id: 2, age: 21 },
      { name: '牛油3号', id: 3, age: 19 },
    ]
    var ul = document.querySelector('ul');
    // 补全代码
    for (let i = 0; i < people.length; i++) {
      var txt = people[i].name + ' ' + people[i].age + '岁';
      var li = document.createElement('li');
      li.innerHTML = txt;
      ul.append(li);
    }
  </script>
</body>

</html>

题4:模板字符串

image-20220921113754281

题解:

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

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

<body>
  <h2></h2>

  <script>
    var person = {
      level: '2',
      name: '小丽',
      registTime: '2022-09-21',
    }
    var h2 = document.querySelector('h2');
    // 补全代码
    let day = getDay(new Date(person.registTime), new Date());
    h2.innerText = `尊贵的牛客网${person.level}级用户${person.name}您好,您已经注册牛客网${day}天啦~`;

    function getDay (startTime, endTime) {
      return Math.floor((endTime.valueOf() - startTime.valueOf()) / 86400 / 1000);
    }
  </script>
</body>

</html>

题5:类继承

image-20220921114058828

思路:

  1. 在”Human“;类中添加”getName“函数
  2. 通过extends使”Chinese”类继承于“Human”类
  3. 在“Chinese”类的构造函数中可以通过super方法使“name”调用超类构造器
  4. 在“Chinese”类的构造函数中添加“age”属性
  5. 在“Chinese”类的构造函数中添加“getAge“函数
<!DOCTYPE html>
<html>

<head>
  <meta charset=utf-8>
</head>

<body>

  <script type="text/javascript">
    class Human {
      constructor(name) {
        this.name = name
        this.kingdom = 'animal'
        this.color = ['yellow', 'white', 'brown', 'black']
      }
      // 补全代码
      getName () {
        return this.name;
      }
    }

    // 补全代码
    class Chinese extends Human {
      constructor(name, age) {
        super(name);
        this.age = age;
      }
      getAge () {
        return this.age;
      }
    }
  </script>
</body>

</html>

题6:参数解析器

image-20220921114255967

思路:

1、将url参数部分取出 (通过slice+lastIndexOf)拿到所有参数

2、再通过split对所有参数进行分割 (此时得到:[‘id=1’,‘salas=1000’])

3、循环split,通过数组结构获取key、value 并赋值给新对象

题解:

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

        <script>
       const _getParams = (url) => {
    var obj = {}
    let index = url.indexOf('#')
    url = index === -1 ? url : url.slice(0, index)
    if (url.indexOf('?') !== -1) {
        let i = url.indexOf("?")
        let arr = url.slice(i + 1).split('&')
        arr.forEach(function (item) {
            item = item.replace(/\=/, '&')
            let t = item.split('&')
            obj[t[0]] = t[1] !== undefined ? t[1] : null
        })
        return obj
    } else {
        return obj
    }
}
        </script>
    </body>
</html>

题7:生成页码

image-20220921114720936

思路:

根据题目要求,通过参数生成页码,要求页码内容从1开始,核心步骤为:

  1. 获取”ul“标签
  2. 计算出总页数,需要向上取整
  3. 进入循环,创建”li“节点且”li“.innerText为该循环当前轮次
  4. 在循环内将”li“节点插入”ul“

题解:

<!DOCTYPE html>
<html>

<head>
  <meta charset=utf-8>
</head>

<body>
  <ul id="ul">

  </ul>
  <script type="text/javascript">
    const _createPage = (allItem, pageItem) => {
      let ul = document.querySelector('#ul')
      let pageNumber = Math.ceil(allItem / pageItem)
      for (let i = 1; i <= pageNumber; i++) {
        let li = document.createElement('li')
        li.innerText = i
        ul.appendChild(li)
      }
    }
  </script>
</body>

</html>

image-20220921115031286

🎉 总结

求知无坦途,学问无捷径。👣 一步一个脚印,你走过的路,每一步都算数。 \color{#ff7f50}{一步一个脚印,你走过的路,每一步都算数。} 一步一个脚印,你走过的路,每一步都算数。 每一次进步都是对自己努力的肯定。如果读了文章有收获,不如一起来学习,一起进步吧。传送门🚪刷题神器

在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 20:47:38  更:2022-09-24 20:53:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:00:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码