基础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 通过在后台与 ...
随机推荐
- ipv6 mac地址转化为linklocal地址
mac 3c:32:66:67:dd:46 linklocal地址 前六位固定 fe80:: 第七位 mac地址第一个byte进行如下计算 (byte) ((byte) (macbyte &am ...
- easyui 表单提交前的 confirm 处理
最近学习用 easyui,异步提交表单是遇到一个小问题 $('#fModiDetail').form('submit',{ url:'...', onSubmit:function(){ if($(t ...
- 一:MYsql登录,服务开启和停止
字段的属性: 1:名称 2:数据类型 3:长度 4:约束 SQL的分类:(结构化查询语言) 1:数据查询语言DQL select 2:数据操纵语言DML insert delete u ...
- RHCE考试(Linux7)
博主本人平和谦逊,热爱学习,读者阅读过程中发现错误的地方,请帮忙指出,感激不尽 一.环境模拟 * server0.example.com :172.25.0.11 * desktop0.example ...
- AngularJS中格式化日期为指定格式字符串
var date = $filter('date')(new Date(),'MM/dd/yyyy');
- javaee验证码如何使用
首先需要导入jar包 ValidateCode.jar 110 25 为验证码框的大小 4为验证码数目 9为干扰线条数 Servlet代码如下 运行截图如下
- 吴裕雄--天生自然python学习笔记:网页解析
抓取万水书苑网页中所有<a>标签中的超链接井显示. import requests from bs4 import BeautifulSoup url = 'http://www.wsbo ...
- Qt QString类及常用函数功能详解
QString 是 Qt 编程中常用的类,除了用作数字量的输入输出之外,QString 还有很多其他功能,熟悉这些常见的功能,有助于灵活地实现字符串处理功能. QString 存储字符串釆用的是 Un ...
- 查找openssl内存泄漏(代码)
#include <stdio.h> #include <string.h> #include <openssl/bio.h> #include <opens ...
- 微信小游戏广告位iphonex底部适配问题
最近在公司开发游戏,使用cocos creator做微信小游戏,遇到一个很恶心的问题,如图: 如图所示,微信的广告位被iphonex的底部bar给弹出了一点位置,没有靠在底部. 在这里不得不吐槽一下微 ...