任务目的

  • 学习与实践JavaScript的基本语法、语言特性
  • 练习使用JavaScript实现简单的排序算法

任务描述

  • 基于上一任务
  • 限制输入的数字在10-100
  • 队列元素数量最多限制为60个,当超过60个时,添加元素时alert出提示
  • 队列展现方式变化如图,直接用高度表示数字大小
  • 实现一个简单的排序功能,如冒泡排序(不限制具体算法),用可视化的方法表达出来,参考见下方参考资料

任务注意事项

  • 实现简单功能的同时,请仔细学习JavaScript基本语法、事件、DOM相关的知识
  • 请注意代码风格的整齐、优雅
  • 代码中含有必要的注释
  • 示例图仅为参考,不需要完全一致
  • 具体算法及可视化的形式不做特别限制,只要求能够展现出算法的过程
  • 建议不使用任何第三方库、框架

在线学习参考资料

基础JavaScript练习(二)总结

1、JavaScript parseInt() Function

parseInt()函数解析一个字符串并且返回一个整数。

基数参数被用于指定使用哪一个数字系统,例如基数为16表示字符串中的数字从十六进制数解析为十进制数。

如果省略了基数参数,JavaScript将假设成下述情况:

  • •如果字符串以“0x”开头,基数参数为16(十六进制)。
  • •如果字符串以其他开头,基数参数为10(十进制)。

注意:只有字符串中的第一个数字被返回。允许使用前导和尾随空格。

语法:

parseInt(string, radix)

string:将被解析的字符串。

Radix:可选,从2到36的数字,表示使用的数字系统。

返回值:数字。当第一个字符不能被转换为数字,返回NaN。

2、HTML DOM childNodes Property

childNodes属性返回一个节点的子节点集合,作为一个节点列表对象。在代码中节点集合已经被排序,并且可以通过下标访问,下标从0开始。这个属性为只读属性。

可使用节点列表对象的length属性来确定子节点的个数,然后可以循环所有的子节点并从中提取信息。

注意:元素当中的空白被认为时文本,文本也被认为是节点。注释同样被认为是节点。

childNodes属性与children属性区别:

children属性返回一个节点元素节点的集合,不包含文本和注释节点,childNodes属性包含。

语法:

element.childNodes

返回值:节点列表对象,代表节点的集合。在源代码中返回集合中的节点已被排序。

3、HTML DOM Style Object

Style对象代表一个独立的style语句。

访问一个Style对象

Style对象可以通过document的头部访问,也可以通过特定的HTML元素访问。

eg:var x = document.getElementsByTagName("STYLE");

var x = document.getElementById("myH1").style;

创建Style对象

可以使用document.createElement()方法创建一个<style>元素,也可以通过设置一个已经存在元素的style属性。

var x = document.createElement("STYLE");

document.getElementById("myH1").style.color = "red";

4、已提交作业

代码地址:https://github.com/Nunawading2016/2017-IFE-Baidu/blob/master/task2-1

Demo地址:http://htmlpreview.github.io/?https://github.com/Nunawading2016/2017-IFE-Baidu/blob/master/task2-1/index.html

基础JavaScript练习(二)总结的更多相关文章

  1. Javascript基础回顾 之(二) 作用域

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  2. 零基础JavaScript编码(二)

    任务目的 在上一任务基础上继续JavaScript的体验 学习JavaScript中的if判断语法,for循环语法 学习JavaScript中的数组对象 学习如何读取.处理数据,并动态创建.修改DOM ...

  3. 学习javascript数据结构(二)——链表

    前言 人生总是直向前行走,从不留下什么. 原文地址:学习javascript数据结构(二)--链表 博主博客地址:Damonare的个人博客 正文 链表简介 上一篇博客-学习javascript数据结 ...

  4. Bootstrap <基础三十二>模态框(Modal)插件

    模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 如果您想要单独引用该插件的功能,那么您需要引用  ...

  5. 从头开始学JavaScript (十二)——Array类型

    原文:从头开始学JavaScript (十二)--Array类型 一.数组的创建 注:ECMAscript数组的每一项都可以保存任何类型的数据 1.1Array构造函数 var colors = ne ...

  6. js基础提高(二)

    JavaScript基础提高(二) 上篇写的是JavaScript的历史.基本的数据类型和基本的语法进填的话讲的就深入一些了. js的函数 1.js函数定义的方式 (1)普通方式 语法:functio ...

  7. js基础--javaScript数据类型你都弄明白了吗?绝对干货

    欢迎访问我的个人博客:http://www.xiaolongwu.cn 数据类型的分类 JavaScript的数据类型分为两大类,基本数据类型和复杂数据类型. 基本数据类型:Null.Undefine ...

  8. Vue基础系列(二)——Vue中的methods属性

      写在前面的话: 文章是个人学习过程中的总结,为方便以后回头在学习. 文章中会参考官方文档和其他的一些文章,示例均为亲自编写和实践,若有写的不对的地方欢迎大家指出. 作者简介: 一个不知名的前端开发 ...

  9. 一篇文章图文并茂地带你轻松学完 JavaScript 设计模式(二)

    JavaScript 设计模式(二) 本篇文章是 JavaScript 设计模式的第二篇文章,如果没有看过我上篇文章的读者,可以先看完 上篇文章 后再看这篇文章,当然两篇文章并没有过多的依赖性. 5. ...

随机推荐

  1. 基础篇六:Nginx编译配置参数

  2. PRaCtice[1]

    目录 ID-3学习 代码实现 1. 样例数据集 2.信息熵的计算 ID-3学习 代码实现 该项目采用了业界领先的 TDD(TreeNewBee-Driven Development,吹牛逼导向开发模式 ...

  3. 【转】Vim命令合集

    Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...

  4. Qt 线程池QThreadPool类、QRunnable类

    QThreadPool类 用来管理 QThreads.此类中的所有函数都是线程安全的. 主要属性: 1.activeThreadCount: 此属性表示线程池中的活动线程数,通过activeThrea ...

  5. 洛谷-P3809-后缀排序(后缀数组)

    看了求后缀数组的倍增法之后很快就理解了,但是自己写的倍增法用map排序还是超时了.然后看了两天别人写的模板,题目是通过了,但感觉代码还是半懂半背的.以后多熟悉熟悉吧: 后缀数组 #include &q ...

  6. JS实现select去除option的使用注意事项

    网上讲JS动态添加option和删除option的文章很多,在此推荐一篇: http://www.jb51.net/article/35205.htm 我使用的是如下方法: function remo ...

  7. cisco WLC开启portal认证,但是访问https无法跳转问题的解决

     config network web-auth https-redirect enable版本8,及以上才支持  官方文档: http://www.cisco.com/c/zh_cn/support ...

  8. hibernate需要注意的点

    1.需要用Hibernate做实体的类(@Entity)需要在配置文件中配置对应的包(例如:spring/appContext-hibernate.xml). 2.hibernateTemplate中 ...

  9. JXJJOI2018_T3_catch

    题目描述 Lemon因为偶然的原因,当上了警察局长.而一上任,他就碰到了个大麻烦:追捕周克华. 周克华是人尽皆知的抢劫杀人犯,而就在几天前,他在Lemon辖区内的银行门口,枪杀了一名储户后逃之夭夭.L ...

  10. numpy的array分割

    import numpy as np A = np.arange(12).reshape(3,4) print(A) print(np.split(A,2,axis=1)) print(np.spli ...