基础JavaScript练习(一)总结
任务目的
- 在上一任务基础上继续JavaScript的体验
- 接触一下JavaScript中的高级选择器
- 学习JavaScript中的数组对象遍历、读写、排序等操作
- 学习简单的字符串处理操作
任务描述
- 参考以下示例代码,读取页面上已有的source列表,从中提取出城市以及对应的空气质量
- 将数据按照某种顺序排序后,在resort列表中按照顺序显示出来
<!DOCTYPE>
<html>
<head>
<meta charset="utf-8">
<title>IFE JavaScript Task 01</title>
</head>
<body>
<ul id="source">
<li>北京空气质量:<b>90</b></li>
<li>上海空气质量:<b>70</b></li>
<li>天津空气质量:<b>80</b></li>
<li>广州空气质量:<b>50</b></li>
<li>深圳空气质量:<b>40</b></li>
<li>福州空气质量:<b>32</b></li>
<li>成都空气质量:<b>90</b></li>
</ul>
<ul id="resort">
<!--
<li>第一名:北京空气质量:<b>90</b></li>
<li>第二名:北京空气质量:<b>90</b></li>
<li>第三名:北京空气质量:<b>90</b></li>
-->
</ul>
<button id="sort-btn">排序</button>
<script type="text/javascript">
/**
* getData方法
* 读取id为source的列表,获取其中城市名字及城市对应的空气质量
* 返回一个数组,格式见函数中示例
*/
function getData() {
/*
coding here
*/
/*
data = [
["北京", 90],
["北京", 90]
……
]
*/
return data;
}
/**
* sortAqiData
* 按空气质量对data进行从小到大的排序
* 返回一个排序后的数组
*/
function sortAqiData(data) {
}
/**
* render
* 将排好序的城市及空气质量指数,输出显示到id位resort的列表中
* 格式见ul中的注释的部分
*/
function render(data) {
}
function btnHandle() {
var aqiData = getData();
aqiData = sortAqiData(aqiData);
render(aqiData);
}
function init() {
// 在这下面给sort-btn绑定一个点击事件,点击时触发btnHandle函数
}
init();
</script>
</body>
</html>
任务注意事项
- 实现简单功能的同时,请仔细学习JavaScript基本语法、事件、DOM相关的知识
- 请注意代码风格的整齐、优雅
- 代码中含有必要的注释
- 建议不使用任何第三方库、框架
- 示例代码仅为示例,可以直接使用,也可以完全自己重写
在线学习参考资料
基础JavaScript练习(一)总结
1、 JavaScript Objects
在JavaScript中,对象也是变量,用于存储数值,但是一个对象可以存储很多值,并且每个值以键值对的方式(name:value)存储。JavaScript中的name:value键值对被称为属性。
方法也可以存储在对象中,name:value,name为函数名,value为函数定义。
(1) 定义对象
eg: var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
(2)获取对象属性:
objectName.propertyName
或者
objectName["propertyName"]
(3)调用对象方法
- objectName.methodName()
如果未加(),objectName.methodName将返回这个名字方法的定义。
2、 HTML DOM createElement() Method
createelement()方法创建一个指定名字的元素节点。
注意:createTextNode()方法创建一个文本节点。节点创建完成之后,使用element.appendChild()或者element.insertBefore()方法将它插入document中。
语法:
document.createElement(nodename)
参数:nodename,类型:字符串,想创建的元素姓名。
返回值:一个元素对象,代表创建的元素节点。
3、 HTML DOM createTextNode() Method
HTML元素通常由元素节点和文本节点组成,createTextNode()方法用于创建一个文本节点
语法:
document.createTextNode(text)
text:类型:字符串,表示文本节点中的文本。
返回值:文本节点对象。
4、 HTML DOM setAttribute() Method
setAttribute()方法,向一个元素添加一个属性,并给它一个特定的值。如果添加前该元素有这个属性,则此方法仅改变或设置属性值。
注意:虽然可以使用setAttribute()方法向一个元素添加样式,但是最好使用Style对象(Style对象代表一个单独的样式语句)的属性,这个方法可能覆盖其他css样式。
Bad:element.setAttribute("style", "background-color: red;");
Good:element.style.backgroundColor = "red";
5、 HTML DOM appendChild() Method
appendChild()方法将一个节点作为最后一个子节点悬挂到另一个节点上。
语法:
node.appendChild(node)
node:类型:节点对象。想附加的节点。
返回值:一个节点对象,代表已附加的节点。
6、 HTML DOM insertBefore() Method
insertBefore()方法,将一个节点作为子节点插入到一个已经存在的节点之前。
语法:
node.insertBefore(newnode, existingnode)
newnode:类型:节点对象,想插入的新节点。
Existingnode:类型:节点对象,可选,已在document中的,想插入新节点之后的节点,如果没有指定时,将把新节点插入到最后。
返回值:一个节点对象,代表已插入的节点。
7、 HTML DOM removeChild() Method
removeChild()方法,从指定元素移除一个指定子节点。返回值为被移除的节点,如果要移除节点不存在,则返回null。
语法:
node.removeChild(node)
node:类型为:节点对象,要移除的节点
8、 已提交作业
代码地址:https://github.com/Nunawading2016/2017-IFE-Baidu/blob/master/task2-4
基础JavaScript练习(一)总结的更多相关文章
- 回归基础: JavaScript 变量提升
from me: javascript的变量声明具有hoisting机制,它是JavaScript一个基础的知识点,也是一个比较容易犯错的点,平时在开发中,大大小小的项目都会遇到. 它是JavaScr ...
- js基础--javaScript数据类型你都弄明白了吗?绝对干货
欢迎访问我的个人博客:http://www.xiaolongwu.cn 数据类型的分类 JavaScript的数据类型分为两大类,基本数据类型和复杂数据类型. 基本数据类型:Null.Undefine ...
- 基础JavaScript练习(三)总结
任务目的 实践JavaScript数组.字符串相关操作 任务描述 基于任务四进行升级 将新元素输入框从input改为textarea 允许一次批量输入多个内容,格式可以为数字.中文.英文等,可以通过用 ...
- 基础JavaScript练习(二)总结
任务目的 学习与实践JavaScript的基本语法.语言特性 练习使用JavaScript实现简单的排序算法 任务描述 基于上一任务 限制输入的数字在10-100 队列元素数量最多限制为60个,当超过 ...
- 零基础JavaScript编码(三)总结
任务目的 在上一任务基础上继续JavaScript的体验 接触一下JavaScript中的高级选择器 学习JavaScript中的数组对象遍历.读写.排序等操作 学习简单的字符串处理操作 任务描述 参 ...
- 零基础JavaScript编码(二)
任务目的 在上一任务基础上继续JavaScript的体验 学习JavaScript中的if判断语法,for循环语法 学习JavaScript中的数组对象 学习如何读取.处理数据,并动态创建.修改DOM ...
- 零基础JavaScript编码(一)
任务目的 JavaScript初体验 初步明白JavaScript的简单基本语法,如变量.函数 初步了解JavaScript的事件是什么 初步了解JavaScript中的DOM是什么 任务描述 参考以 ...
- 二、JavaScript语言--JS基础--JavaScript进阶篇--JS基础语法
1.变量 定义:从字面上看,变量是可变的量:从编程角度讲,变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品可以是衣服.玩具.水果...等. 命名:变量名字可以任 ...
- Ajax基础--JavaScript实现
ajax原理 1.ajax 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),也就是无刷新数据读取. 通俗地讲就是:AJAX 通过在后台与 ...
随机推荐
- css3应用
画出一个禁行标志 border-radius: 50%; width: 100px; height: 100px; border: 10px solid red; background: linear ...
- 系统学习Javaweb6----JavaScript2
感想:感觉自己还是只是学到皮毛,仍需继续努力,明天开始需要学习Android和阅读感想的书写. 学习笔记: 2.3.运算符 JavaScript运算符与java运算符基本一致. 这里我们来寻找不同点进 ...
- wireshark的过滤命令
1.ip.addr == 192.168.1.1 这种是目标地址和源地址都是 后面指定的IP
- 在Python 中怎么表示一个元素在一个list中的数量?
commonest = [1,2,2,2,1,3,4,5,1,1] print(commonest.count(1))
- 以elasticsearch-hadoop 向elasticsearch 导数,丢失数据的问题排查
实际这是很久之前的问题了,当时没时间记录 这里简单回顾 项目基于 数据架构不方便说太细,最精简的 somedata-> [kafka]->spark-stream->elastics ...
- json转换为go类文件,js脚本,nodejs执行
js写的代码生成脚本,json生成对应的go type对象 作json转换用 js脚本无甚何依赖,可以直接运行 执行前,按需更改文件 示例 var topname="Data"; ...
- 基于Python的Flask基础知识
Flask简介 Flask 是一个使用 Python 编写的轻量级 Web 应用程序框架.Armin Ronacher带领一个名为Pocco的国际Python爱好者团队开发了Flask. 下面我们简单 ...
- Python面向对象三大特征
继承 面向对象中的继承就是继承的类直接拥有被继承类的属性而不需要在自己的类体中重新再写一遍,其中被继承的类叫做父类.基类,继承的类叫做派生类.子类.在python3中如果不指定继承哪个类,默认就会继承 ...
- java 数组的复制
java数组的复制分为数组地址的复制和值的复制 地址的复制: int []arrA={11,22,33,44}; //创建一个数组 int [] arrB=new int[5]; System.out ...
- 将js进行到底:node学习9
node.js数据库篇--Mongoose ODM 介绍mongoose 几乎所有的语言都有原生数据库连接驱动,这个我们上一回已经了解了,比如java的jdbc,mysql-connector,但是实 ...